02:11:09.861 [error] #PID<0.662398.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 6) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.bak ** (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.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89d7861e18e-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.168.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.168.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662398.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef89d7861e18e-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 104.23.168.12"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.168.12"} ], request_path: "/.env.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3X4SmxD1QCYABSOj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89d7861e18e-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.168.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.168.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 6, 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.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89d7861e18e-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.168.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.168.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, (truncated) 02:11:09.888 [info] GET /config.php.bak 02:11:09.888 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:09.888 [debug] QUERY OK source="settings" db=0.2ms idle=36.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:09.889 [debug] QUERY OK source="settings" db=0.1ms idle=29.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:09.889 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:09.889 [error] #PID<0.662401.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 7) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /config.php.bak ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89e1846d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662401.0>, params: %{}, path_info: ["config.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef89e1846d0d1-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.103, 172.71.103.162"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.162"} ], request_path: "/config.php.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3X_U_GgjrxIABSPD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89e1846d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89e1846d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", (truncated) 02:11:09.894 [info] GET /include/db.php.bak 02:11:09.894 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:09.895 [debug] QUERY OK source="settings" db=0.1ms idle=35.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:09.895 [debug] QUERY OK source="settings" db=0.1ms idle=35.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:09.896 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:09.896 [info] GET /.env.old 02:11:09.897 [debug] QUERY OK source="settings" db=0.4ms idle=36.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:09.898 [debug] QUERY OK source="settings" db=0.3ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:09.898 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:09.896 [error] #PID<0.662402.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 8) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /include/db.php.bak ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /include/db.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/include/db.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89e2a90d0bd-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 172.71.103.138", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.138" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662402.0>, params: %{}, path_info: ["include", "db.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef89e2a90d0bd-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.103, 172.71.103.138"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.138"} ], request_path: "/include/db.php.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3YA4LebSPsIABSPj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/include/db.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89e2a90d0bd-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 172.71.103.138", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.138" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /include/db.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/include/db.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89e2a90d0bd-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 172.71.103.138", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.138" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662402.0>, params: %{}, path_info: ["include", "db.ph (truncated) 02:11:09.899 [error] #PID<0.662403.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 5) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.old ** (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.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89e29a6e18e-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.168.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.168.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662403.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef89e29a6e18e-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 104.23.168.12"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.168.12"} ], request_path: "/.env.old", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3YBYQMnbOIIAO_YC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89e29a6e18e-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.168.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.168.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 5, 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.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89e29a6e18e-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.168.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.168.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_par (truncated) 02:11:09.928 [info] GET /actuator/env 02:11:09.928 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:09.928 [debug] QUERY OK source="settings" db=0.1ms idle=39.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:09.929 [debug] QUERY OK source="settings" db=0.2ms idle=33.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:09.929 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:09.929 [error] #PID<0.662404.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 6) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /actuator/env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89e5858d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662404.0>, params: %{}, path_info: ["actuator", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef89e5858d0d1-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 172.71.103.162"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.162"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3YI38g6EqosAO_Yi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89e5858d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89e5858d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 6, host_info: : (truncated) 02:11:10.025 [info] GET /application.yml 02:11:10.026 [debug] QUERY OK source="settings" db=0.2ms idle=128.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.027 [debug] QUERY OK source="settings" db=0.3ms idle=128.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.027 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.027 [error] #PID<0.662405.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 7) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /application.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89ef8b5d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662405.0>, params: %{}, path_info: ["application"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef89ef8b5d0d1-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.103, 172.71.103.162"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.162"} ], request_path: "/application.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3YgJHaAQWIoAO_ZC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89ef8b5d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89ef8b5d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content. (truncated) 02:11:10.090 [info] GET /application.properties 02:11:10.090 [debug] QUERY OK source="settings" db=0.3ms idle=161.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.091 [debug] QUERY OK source="settings" db=0.1ms idle=161.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.091 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.092 [error] #PID<0.662406.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 8) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /application.properties ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.properties", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89f68f3d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662406.0>, params: %{}, path_info: ["application"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef89f68f3d0d1-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 172.71.103.162"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.162"} ], request_path: "/application.properties", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3YvcRwzM7s4AO_Zi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.properties", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89f68f3d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.properties", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89f68f3d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assig (truncated) 02:11:10.104 [info] GET /.env.local 02:11:10.104 [debug] QUERY OK source="settings" db=0.1ms idle=81.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.105 [debug] QUERY OK source="settings" db=0.1ms idle=78.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.105 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.105 [error] #PID<0.662407.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 9) terminated Server: content.andreas-larsen.dk: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.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89f7b8f16bf-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662407.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef89f7b8f16bf-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 104.23.166.156"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.166.156"} ], request_path: "/.env.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3Yy1wrciMnoAO_aC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89f7b8f16bf-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 9, 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.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89f7b8f16bf-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, ha (truncated) 02:11:10.121 [info] GET /_profiler/phpinfo 02:11:10.122 [debug] QUERY OK source="settings" db=0.1ms idle=95.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.122 [debug] QUERY OK source="settings" db=0.1ms idle=31.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.122 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.123 [error] #PID<0.662408.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 10) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /_profiler/phpinfo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89f982c3ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662408.0>, params: %{}, path_info: ["_profiler", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef89f982c3ed0-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.103, 104.23.166.156"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.166.156"} ], request_path: "/_profiler/phpinfo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3Y3Ai6tZvbgAO_ai"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89f982c3ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89f982c3ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: " (truncated) 02:11:10.125 [info] GET /i.php 02:11:10.126 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=35.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.126 [debug] QUERY OK source="settings" db=0.2ms idle=21.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.127 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.127 [error] #PID<0.662409.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 11) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /i.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /i (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/i.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89f9bf4fb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662409.0>, params: %{}, path_info: ["i"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef89f9bf4fb87-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.103, 141.101.76.173"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "141.101.76.173"} ], request_path: "/i.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3Y3-RN1T_ZUABSQD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/i.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89f9bf4fb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /i (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/i.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89f9bf4fb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", (truncated) 02:11:10.130 [info] GET /include/config.php.bak 02:11:10.130 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:10.131 [debug] QUERY OK source="settings" db=0.1ms idle=25.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.131 [debug] QUERY OK source="settings" db=0.3ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.131 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.132 [error] #PID<0.662410.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 12) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /include/config.php.bak ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /include/config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/include/config.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89f990ad0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662410.0>, params: %{}, path_info: ["include", "config.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef89f990ad0d1-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 172.71.103.162"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.162"} ], request_path: "/include/config.php.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3Y5DRfRicaAABSQj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/include/config.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89f990ad0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /include/config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/include/config.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89f990ad0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 12, (truncated) 02:11:10.140 [info] GET /test.php 02:11:10.141 [debug] QUERY OK source="settings" db=0.1ms idle=18.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.141 [debug] QUERY OK source="settings" db=0.1ms idle=14.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.141 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.142 [error] #PID<0.662411.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 13) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /test.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /test (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89fbd5eddee-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.168.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.168.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662411.0>, params: %{}, path_info: ["test"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef89fbd5eddee-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 104.23.168.12"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.168.12"} ], request_path: "/test.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3Y7hx3hpPZgAO_bC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89fbd5eddee-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.168.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.168.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /test (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89fbd5eddee-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.168.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.168.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", (truncated) 02:11:10.159 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er Felix på besøg og hjælper til med at tømme keramikovnen, vores store orpington skrukker og køkkenhaven er begyndt at give grøntsager - dog meget sparsomt, da sommeren i år har været fyldt med køkkenhave-fjender. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 2101, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e102400 - Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24.mp4", "id" => "6vrGogQTGw8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6vrGogQTGw8", "playlist_index" => 22, "timestamp" => 1729778405, "title" => "Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24", "upload_date" => "20241024"} 02:11:10.160 [debug] QUERY OK source="sources" db=0.2ms idle=32.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:10.160 [debug] QUERY OK source="sources" db=0.1ms idle=29.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:10.167 [info] GET /.env.dev 02:11:10.167 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:10.167 [debug] QUERY OK source="settings" db=0.3ms idle=26.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.169 [debug] QUERY OK source="media_items" db=8.2ms idle=28.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-24 14:00:05Z], 3] 02:11:10.169 [debug] QUERY OK source="settings" db=1.0ms idle=26.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.169 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.169 [error] #PID<0.662412.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 14) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.dev ** (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.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89fdfb1f5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662412.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef89fdfb1f5b6-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 141.101.76.173"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "141.101.76.173"} ], request_path: "/.env.dev", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZBzpNHS3egAO_bi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89fdfb1f5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 14, 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.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89fdfb1f5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 02:11:10.174 [info] GET /appsettings.Development.json 02:11:10.176 [debug] QUERY OK source="settings" db=0.8ms idle=14.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.176 [info] GET /debug.php 02:11:10.177 [debug] QUERY OK source="settings" db=1.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 [] 02:11:10.177 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.178 [debug] QUERY OK source="media_items" db=8.4ms idle=9.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er Felix på besøg og hjælper til med at tømme keramikovnen, vores store orpington skrukker og køkkenhaven er begyndt at give grøntsager - dog meget sparsomt, da sommeren i år har været fyldt med køkkenhave-fjender. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24", "4b66d27f-32e4-490b-86ed-89294de72a67", 3, [], 2101, false, "6vrGogQTGw8", "https://www.youtube.com/watch?v=6vrGogQTGw8", 22, "/downloads/shows/Livet på gården/Season 2024/s2024e102400 - Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24.mp4", false, false, false, 1, ~U[2024-10-24 14:00:05Z], ~U[2026-04-16 00:11:10Z], ~U[2026-04-16 00:11:10Z], "I dette afsnit er Felix på besøg og hjælper til med at tømme keramikovnen, vores store orpington skrukker og køkkenhaven er begyndt at give grøntsager - dog meget sparsomt, da sommeren i år har været fyldt med køkkenhave-fjender. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24", 3, 2101, false, "6vrGogQTGw8", "https://www.youtube.com/watch?v=6vrGogQTGw8", "/downloads/shows/Livet på gården/Season 2024/s2024e102400 - Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24.mp4", false, ~U[2024-10-24 14:00:05Z]] 02:11:10.178 [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 [] 02:11:10.180 [debug] QUERY OK source="sources" db=1.7ms queue=0.1ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:10.181 [debug] QUERY OK source="settings" db=3.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 [] 02:11:10.181 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.178 [error] #PID<0.662413.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 15) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /appsettings.Development.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /appsettings.Development (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.Development.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89fec6ffb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662413.0>, params: %{}, path_info: ["appsettings.Development"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef89fec6ffb87-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.103, 141.101.76.173"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "141.101.76.173"} ], request_path: "/appsettings.Development.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZDpwRsK6EgAO_cC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.Development.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89fec6ffb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /appsettings.Development (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.Development.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89fec6ffb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662413.0>, pa (truncated) 02:11:10.182 [debug] QUERY OK source="media_profiles" db=1.5ms queue=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] 02:11:10.184 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [246] 02:11:10.184 [debug] Current batch of media processed. Will check again in 1000ms 02:11:10.182 [error] #PID<0.662414.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 9) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /debug.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /debug (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89feb8cd0bd-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.137", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.137" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662414.0>, params: %{}, path_info: ["debug"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef89feb8cd0bd-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 172.71.103.137"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.137"} ], request_path: "/debug.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZD-wGfpnUMABSRD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89feb8cd0bd-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.137", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.137" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /debug (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89feb8cd0bd-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.137", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.137" }, method: "GET", path_info: :undefined, body_length: 0, qs: (truncated) 02:11:10.193 [info] GET /appsettings.json 02:11:10.194 [debug] QUERY OK source="settings" db=0.1ms idle=16.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.194 [debug] QUERY OK source="settings" db=0.1ms idle=14.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.194 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.195 [error] #PID<0.662415.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 10) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /appsettings.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /appsettings (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a009023ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.157", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.157" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662415.0>, params: %{}, path_info: ["appsettings"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a009023ed0-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.103, 104.23.166.157"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.166.157"} ], request_path: "/appsettings.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZILa9W-f_oABSRj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a009023ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.157", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.157" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /appsettings (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a009023ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.157", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.157" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: (truncated) 02:11:10.208 [info] GET /admin/phpinfo.php 02:11:10.208 [debug] QUERY OK source="settings" db=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 [] 02:11:10.209 [debug] QUERY OK source="settings" db=0.1ms idle=26.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.209 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.209 [error] #PID<0.662416.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 11) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /admin/phpinfo.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /admin/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a0193dd0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662416.0>, params: %{}, path_info: ["admin", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a0193dd0d1-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 172.71.103.162"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.162"} ], request_path: "/admin/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZLoKCCxUbAABSSD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a0193dd0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /admin/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a0193dd0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, (truncated) 02:11:10.237 [info] GET /wp-content/phpinfo.php 02:11:10.237 [debug] QUERY OK source="settings" db=0.1ms idle=53.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.238 [debug] QUERY OK source="settings" db=0.1ms idle=43.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.238 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.238 [error] #PID<0.662417.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 12) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-content/phpinfo.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-content/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a04eb1ddee-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.168.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.168.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662417.0>, params: %{}, path_info: ["wp-content", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a04eb1ddee-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 104.23.168.12"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.168.12"} ], request_path: "/wp-content/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZShV0MKCIwABSSj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a04eb1ddee-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.168.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.168.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-content/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a04eb1ddee-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.168.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", (truncated) 02:11:10.251 [info] GET /.docker/config.json 02:11:10.252 [debug] QUERY OK source="settings" db=0.1ms idle=57.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.252 [debug] QUERY OK source="settings" db=0.0ms idle=43.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.252 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.255 [info] GET /server.js 02:11:10.252 [error] #PID<0.662418.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 13) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.docker/config.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.docker/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.docker/config.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a06d3dfb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662418.0>, params: %{}, path_info: [".docker", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a06d3dfb87-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 141.101.76.173"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "141.101.76.173"} ], request_path: "/.docker/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZV4ZByFJbsABSTD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.docker/config.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a06d3dfb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.docker/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.docker/config.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a06d3dfb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 02:11:10.255 [info] GET /wp-content/debug.log 02:11:10.255 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:10.256 [debug] QUERY OK source="settings" db=0.3ms idle=46.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.256 [debug] QUERY OK source="settings" db=0.3ms idle=18.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.257 [debug] QUERY OK source="settings" db=1.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 [] 02:11:10.257 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.257 [debug] QUERY OK source="settings" db=1.7ms 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 [] 02:11:10.258 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.258 [error] #PID<0.662420.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 14) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-content/debug.log ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-content/debug (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/debug.log", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a069a83ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662420.0>, params: %{}, path_info: ["wp-content", "debug"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a069a83ed0-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 104.23.166.156"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.166.156"} ], request_path: "/wp-content/debug.log", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZW5M44QwYUABSTj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/debug.log", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a069a83ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-content/debug (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/debug.log", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a069a83ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assig (truncated) 02:11:10.261 [info] GET /.env.development 02:11:10.262 [debug] QUERY OK source="settings" db=0.3ms idle=9.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.262 [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 [] 02:11:10.258 [error] #PID<0.662419.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 16) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /server.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server.js", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89fff1e3129-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.170.144", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.170.144" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662419.0>, params: %{}, path_info: ["server"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef89fff1e3129-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.103, 104.23.170.144"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.170.144"} ], request_path: "/server.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZW0v65y05gAO_ci"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server.js", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89fff1e3129-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.170.144", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.170.144" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server.js", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef89fff1e3129-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.170.144", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.170.144" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GE (truncated) 02:11:10.262 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.263 [error] #PID<0.662421.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 15) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.development ** (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.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a00c7516bf-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662421.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a00c7516bf-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 104.23.166.12"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.166.12"} ], request_path: "/.env.development", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZYVG2U4lnAABSUD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a00c7516bf-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 15, 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.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a00c7516bf-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{} (truncated) 02:11:10.273 [info] GET /php_info.php 02:11:10.274 [debug] QUERY OK source="settings" db=0.2ms idle=17.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.274 [debug] QUERY OK source="settings" db=0.1ms idle=16.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.274 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.275 [info] GET /.env.example 02:11:10.276 [debug] QUERY OK source="settings" db=0.3ms idle=17.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.276 [debug] QUERY OK source="settings" db=0.4ms idle=13.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.276 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.275 [error] #PID<0.662422.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 16) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /php_info.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /php_info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php_info.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a08bd3d0bd-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 172.71.103.138", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.138" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662422.0>, params: %{}, path_info: ["php_info"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a08bd3d0bd-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.103, 172.71.103.138"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.138"} ], request_path: "/php_info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZbPl-uw2ckAQdOB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php_info.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a08bd3d0bd-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 172.71.103.138", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.138" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /php_info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php_info.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a08bd3d0bd-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 172.71.103.138", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.138" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: (truncated) 02:11:10.277 [error] #PID<0.662423.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 17) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.example ** (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.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.example", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a0890ff5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662423.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a0890ff5b6-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.103, 141.101.76.173"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "141.101.76.173"} ], request_path: "/.env.example", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZblTwl4SdEAO_dC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.example", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a0890ff5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 17, 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.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.example", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a0890ff5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662423.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, (truncated) 02:11:10.299 [info] GET /.env.staging 02:11:10.299 [debug] QUERY OK source="settings" db=0.1ms idle=36.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.300 [debug] QUERY OK source="settings" db=0.1ms idle=25.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.300 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.300 [error] #PID<0.662424.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 18) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.staging ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.staging", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a039a14389-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 104.23.172.65", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.65" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662424.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a039a14389-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.103, 104.23.172.65"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.65"} ], request_path: "/.env.staging", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZhUtqiXXGkAO_di"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.staging", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a039a14389-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 104.23.172.65", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.65" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 18, 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.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.staging", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a039a14389-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 104.23.172.65", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.65" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662424.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, (truncated) 02:11:10.304 [info] GET /pinfo.php 02:11:10.304 [debug] QUERY OK source="settings" db=0.1ms idle=29.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.305 [debug] QUERY OK source="settings" db=0.1ms idle=28.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.305 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.305 [error] #PID<0.662425.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 19) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /pinfo.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /pinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a0b987d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662425.0>, params: %{}, path_info: ["pinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a0b987d0d1-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.103, 172.71.103.162"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.162"} ], request_path: "/pinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZigSKd8yr4AO_eC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a0b987d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /pinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a0b987d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 19, host_i (truncated) 02:11:10.339 [info] GET /storage/logs/laravel.log 02:11:10.339 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:10.339 [debug] QUERY OK source="settings" db=0.1ms idle=63.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.340 [debug] QUERY OK source="settings" db=0.1ms idle=40.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.340 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.340 [error] #PID<0.662426.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 20) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /storage/logs/laravel.log ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /storage/logs/laravel (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/storage/logs/laravel.log", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a0e8b63129-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662426.0>, params: %{}, path_info: ["storage", "logs", "laravel"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a0e8b63129-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 104.23.166.156"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.166.156"} ], request_path: "/storage/logs/laravel.log", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3Zq2CuupTUEAO_ei"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/storage/logs/laravel.log", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a0e8b63129-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /storage/logs/laravel (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/storage/logs/laravel.log", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a0e8b63129-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, (truncated) 02:11:10.347 [info] GET /api/.env 02:11:10.347 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:10.348 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=47.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.348 [debug] QUERY OK source="settings" db=0.3ms idle=43.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.348 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.352 [info] GET /.env.php 02:11:10.352 [debug] QUERY OK source="settings" db=0.1ms idle=47.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.353 [debug] QUERY OK source="settings" db=0.1ms idle=13.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.353 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.349 [error] #PID<0.662427.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 21) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /api/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a0fe0e16bf-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662427.0>, params: %{}, path_info: ["api", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a0fe0e16bf-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.103, 104.23.166.12"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.166.12"} ], request_path: "/api/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZsxUfQ-D9oAO_fC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a0fe0e16bf-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a0fe0e16bf-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662427.0 (truncated) 02:11:10.355 [info] GET /config/database.yml 02:11:10.356 [debug] QUERY OK source="settings" db=0.2ms idle=15.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.356 [debug] QUERY OK source="settings" db=0.1ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.353 [error] #PID<0.662428.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 17) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a10abe3ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662428.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a10abe3ed0-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.103, 104.23.166.156"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.166.156"} ], request_path: "/.env.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3Zt9siYMmMUABSUj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a10abe3ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 17, 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.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a10abe3ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662428.0>, params: %{ (truncated) 02:11:10.356 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.357 [error] #PID<0.662429.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 22) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /config/database.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/database (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/database.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a10e3bfb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662429.0>, params: %{}, path_info: ["config", "database"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a10e3bfb87-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 141.101.76.173"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "141.101.76.173"} ], request_path: "/config/database.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZumJQftdB0AQdOh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/database.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a10e3bfb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/database (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/database.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a10e3bfb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 22, (truncated) 02:11:10.360 [info] GET /pi.php 02:11:10.360 [debug] QUERY OK source="settings" db=0.1ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.360 [debug] QUERY OK source="settings" db=0.1ms idle=7.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.361 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.361 [error] #PID<0.662430.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 23) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /pi.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /pi (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pi.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a11867ddee-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 104.23.168.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.168.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662430.0>, params: %{}, path_info: ["pi"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a11867ddee-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.103, 104.23.168.12"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.168.12"} ], request_path: "/pi.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3Zv1pQpYmM0AQdPB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pi.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a11867ddee-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 104.23.168.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.168.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /pi (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pi.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a11867ddee-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 104.23.168.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.168.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", (truncated) 02:11:10.367 [info] GET /php.php 02:11:10.368 [info] GET /backend/.env 02:11:10.369 [debug] QUERY OK source="settings" db=0.2ms idle=13.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.369 [debug] QUERY OK source="settings" db=1.3ms idle=14.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.369 [debug] QUERY OK source="settings" db=0.2ms idle=13.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.370 [debug] QUERY OK source="settings" db=0.2ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.370 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.370 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.371 [error] #PID<0.662431.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 24) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /php.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a11c18d0bd-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 172.71.103.137", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.137" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662431.0>, params: %{}, path_info: ["php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a11c18d0bd-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.103, 172.71.103.137"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.137"} ], request_path: "/php.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZxrH_mpS_sAQdPh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a11c18d0bd-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 172.71.103.137", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.137" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a11c18d0bd-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 172.71.103.137", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.137" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas- (truncated) 02:11:10.370 [error] #PID<0.662432.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 18) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /backend/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backend/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a119fdf5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662432.0>, params: %{}, path_info: ["backend", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a119fdf5b6-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 141.101.76.173"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "141.101.76.173"} ], request_path: "/backend/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3Zx5g-aixyQABSVD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a119fdf5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backend/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a119fdf5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, (truncated) 02:11:10.376 [info] GET /temp.php 02:11:10.377 [debug] QUERY OK source="settings" db=0.1ms idle=15.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.377 [debug] QUERY OK source="settings" db=0.1ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.377 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.377 [error] #PID<0.662433.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 25) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /temp.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /temp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/temp.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a12a16d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662433.0>, params: %{}, path_info: ["temp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a12a16d0d1-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 172.71.103.162"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.162"} ], request_path: "/temp.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ZzuSO3OKukAQdQB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/temp.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a12a16d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /temp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/temp.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a12a16d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", (truncated) 02:11:10.381 [info] GET /app/.env 02:11:10.381 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:10.382 [debug] QUERY OK source="settings" db=0.1ms idle=12.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.382 [debug] QUERY OK source="settings" db=0.0ms idle=12.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.382 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.383 [error] #PID<0.662434.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 26) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /app/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a13be24389-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 104.23.172.65", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.65" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662434.0>, params: %{}, path_info: ["app", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a13be24389-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.103, 104.23.172.65"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.65"} ], request_path: "/app/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3Z0-Y6r1zy0AO_fi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a13be24389-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 104.23.172.65", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.65" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a13be24389-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 104.23.172.65", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.65" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662434.0>, params: %{}, path_info: ["app", ""], path_params: %{}, (truncated) 02:11:10.438 [info] GET /config/secrets.yml 02:11:10.439 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:10.439 [debug] QUERY OK source="settings" db=0.3ms idle=69.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.440 [debug] QUERY OK source="settings" db=0.2ms idle=62.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.440 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.440 [error] #PID<0.662435.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 27) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /config/secrets.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/secrets.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a189cd3129-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.157", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.157" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662435.0>, params: %{}, path_info: ["config", "secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a189cd3129-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.103, 104.23.166.157"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.166.157"} ], request_path: "/config/secrets.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3aCnYpCDFeQAO_gC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/secrets.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a189cd3129-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.157", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.157" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/secrets.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a189cd3129-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.157", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.157" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 02:11:10.443 [info] GET /config/app.php 02:11:10.444 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:10.444 [debug] QUERY OK source="settings" db=0.6ms idle=66.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.445 [info] GET /config/mail.php 02:11:10.445 [debug] QUERY OK source="settings" db=0.1ms idle=62.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.445 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.445 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:10.446 [debug] QUERY OK source="settings" db=0.1ms idle=63.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.446 [debug] QUERY OK source="settings" db=0.1ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.446 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.445 [error] #PID<0.662436.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 28) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /config/app.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/app (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/app.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a19f32fb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662436.0>, params: %{}, path_info: ["config", "app"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a19f32fb87-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 141.101.76.173"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "141.101.76.173"} ], request_path: "/config/app.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3aDx8D6_6X0AO_gi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/app.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a19f32fb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/app (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/app.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a19f32fb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, (truncated) 02:11:10.447 [error] #PID<0.662437.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 19) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /config/mail.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/mail (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/mail.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a19bf43ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.157", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.157" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662437.0>, params: %{}, path_info: ["config", "mail"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a19bf43ed0-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.103, 104.23.166.157"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.166.157"} ], request_path: "/config/mail.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3aEEZNemIq8ABSVj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/mail.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a19bf43ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.157", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.157" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/mail (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/mail.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a19bf43ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.157", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.157" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larse (truncated) 02:11:10.462 [info] GET /laravel/.env 02:11:10.462 [info] GET /public/.env 02:11:10.463 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:10.463 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:10.463 [debug] QUERY OK source="settings" db=0.3ms idle=18.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.463 [debug] QUERY OK source="settings" db=0.4ms idle=23.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.464 [debug] QUERY OK source="settings" db=0.2ms idle=17.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.464 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.465 [debug] QUERY OK source="settings" db=1.2ms idle=18.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.465 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.465 [error] #PID<0.662438.0> running PinchflatWeb.Endpoint (connection #PID<0.662382.0>, stream id 29) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /public/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /public/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a1bac0f5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662438.0>, params: %{}, path_info: ["public", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a1bac0f5b6-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 141.101.76.173"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "141.101.76.173"} ], request_path: "/public/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3aIT4lbgerkAO_hC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a1bac0f5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /public/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662382.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55734}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a1bac0f5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, h (truncated) 02:11:10.465 [error] #PID<0.662439.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 20) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /laravel/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /laravel/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a1bf2716bf-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662439.0>, params: %{}, path_info: ["laravel", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a1bf2716bf-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 104.23.166.12"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.166.12"} ], request_path: "/laravel/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3aIT4jyF3_AABSWD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a1bf2716bf-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /laravel/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a1bf2716bf-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 20, host (truncated) 02:11:10.597 [info] GET /old_phpinfo.php 02:11:10.598 [debug] QUERY OK source="settings" db=0.1ms idle=151.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.598 [debug] QUERY OK source="settings" db=0.1ms idle=134.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.598 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.599 [error] #PID<0.662440.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 21) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /old_phpinfo.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /old_phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old_phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a28afdd0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662440.0>, params: %{}, path_info: ["old_phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a28afdd0d1-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 172.71.103.162"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.162"} ], request_path: "/old_phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3aoZxB6o1fAABSWj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old_phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a28afdd0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /old_phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old_phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a28afdd0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undef (truncated) 02:11:10.992 [info] GET /config/.env 02:11:10.992 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:10.993 [debug] QUERY OK source="settings" db=0.3ms idle=529.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.993 [debug] QUERY OK source="settings" db=0.3ms idle=529.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.994 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:10.994 [error] #PID<0.662441.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 22) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /config/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a50f80f5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662441.0>, params: %{}, path_info: ["config", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a50f80f5b6-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.103, 141.101.76.173"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "141.101.76.173"} ], request_path: "/config/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3cGmHKgnfRMABSXD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a50f80f5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a50f80f5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", (truncated) 02:11:10.998 [info] GET /infos.php 02:11:10.999 [debug] QUERY OK source="settings" db=0.2ms idle=534.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.999 [debug] QUERY OK source="settings" db=0.2ms idle=401.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:10.999 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:11.000 [error] #PID<0.662442.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 23) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /infos.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /infos (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/infos.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a51ae63ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662442.0>, params: %{}, path_info: ["infos"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a51ae63ed0-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.103, 104.23.166.156"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.166.156"} ], request_path: "/infos.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3cIGQh2GA2YABSXj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/infos.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a51ae63ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /infos (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/infos.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a51ae63ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 23, host_i (truncated) 02:11:11.045 [info] GET /web.config 02:11:11.045 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:11.046 [debug] QUERY OK source="settings" db=0.1ms idle=52.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:11.046 [debug] QUERY OK source="settings" db=0.1ms idle=52.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:11.046 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:11.047 [error] #PID<0.662443.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 24) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /web.config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /web (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web.config", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a55c4cfb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662443.0>, params: %{}, path_info: ["web"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a55c4cfb87-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.103, 141.101.76.173"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "141.101.76.173"} ], request_path: "/web.config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3cTRGnBNtfkABSYD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web.config", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a55c4cfb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /web (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web.config", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a55c4cfb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662443.0>, params: %{}, path_info: ["web"], path_params: %{}, port: 80, private: %{ (truncated) 02:11:11.119 [info] GET /.dockerenv 02:11:11.120 [debug] QUERY OK source="settings" db=0.8ms 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 [] 02:11:11.120 [debug] QUERY OK source="settings" db=0.2ms idle=120.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:11.120 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:11.121 [error] #PID<0.662444.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 25) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.dockerenv ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.dockerenv", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a5cc3a3ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662444.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a5cc3a3ed0-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 104.23.166.156"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.166.156"} ], request_path: "/.dockerenv", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3ckyav79DKgABSYj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.dockerenv", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a5cc3a3ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.dockerenv", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a5cc3a3ed0-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, (truncated) 02:11:11.125 [info] GET /.npmrc 02:11:11.126 [debug] QUERY OK source="settings" db=0.3ms idle=101.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:11.127 [debug] QUERY OK source="settings" db=0.6ms idle=80.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:11.127 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:11.127 [error] #PID<0.662445.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 26) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.npmrc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.npmrc", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a5d8bff5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662445.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a5d8bff5b6-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 141.101.76.173"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "141.101.76.173"} ], request_path: "/.npmrc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3cmUVLoYfXYABSZD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.npmrc", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a5d8bff5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.npmrc", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a5d8bff5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.173", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.173" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, (truncated) 02:11:11.162 [info] GET /docker/.env 02:11:11.163 [debug] QUERY OK source="settings" db=0.4ms idle=116.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:11.163 [debug] QUERY OK source="settings" db=0.2ms idle=43.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:11.163 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:11.164 [error] #PID<0.662446.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 27) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /docker/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /docker/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a61d65d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662446.0>, params: %{}, path_info: ["docker", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a61d65d0d1-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 172.71.103.162"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.162"} ], request_path: "/docker/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3cvHJH9RwDsABSZj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a61d65d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /docker/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a61d65d0d1-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, (truncated) 02:11:11.184 [debug] Current batch of media processed. Will check again in 1000ms 02:11:11.213 [info] GET /connectionstrings.config 02:11:11.215 [debug] QUERY OK source="settings" db=0.9ms idle=93.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:11.217 [debug] QUERY OK source="settings" db=1.6ms idle=89.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:11.217 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:11.220 [error] #PID<0.662447.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 28) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /connectionstrings.config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /connectionstrings (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/connectionstrings.config", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a5ed2efb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.21", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.21" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662447.0>, params: %{}, path_info: ["connectionstrings"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a5ed2efb87-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 141.101.76.21"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "141.101.76.21"} ], request_path: "/connectionstrings.config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3c69AxrVc5IABSaD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/connectionstrings.config", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a5ed2efb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.21", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.21" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /connectionstrings (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/connectionstrings.config", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a5ed2efb87-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.21", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.21" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streami (truncated) 02:11:11.237 [info] GET /parameters.yml 02:11:11.237 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 02:11:11.238 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=110.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:11:11.239 [debug] QUERY OK source="settings" db=0.8ms 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 [] 02:11:11.239 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 02:11:11.240 [error] #PID<0.662448.0> running PinchflatWeb.Endpoint (connection #PID<0.662387.0>, stream id 29) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /parameters.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /parameters (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/parameters.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a689adf5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.21", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.21" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.662448.0>, params: %{}, path_info: ["parameters"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.103"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ecef8a689adf5b6-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.103, 141.101.76.21"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "141.101.76.21"} ], request_path: "/parameters.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKat3dA_1DtekroABSaj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/parameters.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a689adf5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.21", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.21" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /parameters (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.662387.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/parameters.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55758}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.103", "cf-ipcountry" => "NL", "cf-ray" => "9ecef8a689adf5b6-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.103, 141.101.76.21", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "141.101.76.21" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, (truncated) 02:11:12.185 [debug] Current batch of media processed. Will check again in 1000ms 02:11:13.186 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vi skal være forældre ❤️\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1195, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e102600 - Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit).mp4", "id" => "fszG4EUNQSw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fszG4EUNQSw", "playlist_index" => 23, "timestamp" => 1729954642, "title" => "Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit)", "upload_date" => "20241026"} 02:11:13.187 [debug] QUERY OK source="sources" db=0.2ms idle=645.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:13.187 [debug] QUERY OK source="sources" db=0.3ms idle=645.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:13.188 [debug] QUERY OK source="media_items" db=0.3ms idle=646.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-26 14:57:22Z], 3] 02:11:13.189 [debug] QUERY OK source="media_items" db=0.6ms idle=647.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vi skal være forældre ❤️\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit)", "5fa22190-e9a5-4e7a-aed1-d45735161bf1", 3, [], 1195, false, "fszG4EUNQSw", "https://www.youtube.com/watch?v=fszG4EUNQSw", 23, "/downloads/shows/Livet på gården/Season 2024/s2024e102600 - Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit).mp4", false, false, false, 1, ~U[2024-10-26 14:57:22Z], ~U[2026-04-16 00:11:13Z], ~U[2026-04-16 00:11:13Z], "Vi skal være forældre ❤️\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit)", 3, 1195, false, "fszG4EUNQSw", "https://www.youtube.com/watch?v=fszG4EUNQSw", "/downloads/shows/Livet på gården/Season 2024/s2024e102600 - Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit).mp4", false, ~U[2024-10-26 14:57:22Z]] 02:11:13.190 [debug] QUERY OK source="sources" db=0.1ms idle=163.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:13.190 [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] 02:11:13.191 [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 [247] 02:11:13.191 [debug] Current batch of media processed. Will check again in 1000ms 02:11:14.191 [debug] Current batch of media processed. Will check again in 1000ms 02:11:15.192 [debug] Current batch of media processed. Will check again in 1000ms 02:11:16.193 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video fortæller vi mange af dem vi elsker at vi skal være forældre!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 845, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e103100 - Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26.mp4", "id" => "knLNbZN-U8I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=knLNbZN-U8I", "playlist_index" => 24, "timestamp" => 1730386862, "title" => "Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26", "upload_date" => "20241031"} 02:11:16.194 [debug] QUERY OK source="sources" db=0.2ms idle=1652.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:16.195 [debug] QUERY OK source="sources" db=0.4ms idle=1652.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:16.196 [debug] QUERY OK source="media_items" db=0.6ms idle=1653.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-31 15:01:02Z], 3] 02:11:16.197 [debug] QUERY OK source="media_items" db=1.0ms idle=1163.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video fortæller vi mange af dem vi elsker at vi skal være forældre!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26", "efa27634-de1d-4d25-ae38-e7317a2d6b17", 3, [], 845, false, "knLNbZN-U8I", "https://www.youtube.com/watch?v=knLNbZN-U8I", 24, "/downloads/shows/Livet på gården/Season 2024/s2024e103100 - Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26.mp4", false, false, false, 1, ~U[2024-10-31 15:01:02Z], ~U[2026-04-16 00:11:16Z], ~U[2026-04-16 00:11:16Z], "I denne video fortæller vi mange af dem vi elsker at vi skal være forældre!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26", 3, 845, false, "knLNbZN-U8I", "https://www.youtube.com/watch?v=knLNbZN-U8I", "/downloads/shows/Livet på gården/Season 2024/s2024e103100 - Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26.mp4", false, ~U[2024-10-31 15:01:02Z]] 02:11:16.198 [debug] QUERY OK source="sources" db=0.5ms idle=163.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:16.199 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 02:11:16.200 [debug] QUERY OK source="media_items" db=0.4ms 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 [248] 02:11:16.200 [debug] Current batch of media processed. Will check again in 1000ms 02:11:17.201 [debug] Current batch of media processed. Will check again in 1000ms 02:11:18.202 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er jeg kommet til at købe nye høns igen, fordi 21 ikke var nok, og Mikkel henter dem med mig. Vores ene gris er blevet døv, og så er der fuld gang i den, i keramik værkstedet med pat-kopper og ovntømning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1621, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e110700 - Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27.mp4", "id" => "JyiMi5ofXPw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JyiMi5ofXPw", "playlist_index" => 25, "timestamp" => 1730991619, "title" => "Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27", "upload_date" => "20241107"} 02:11:18.203 [debug] QUERY OK source="sources" db=0.2ms idle=661.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:18.203 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=662.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:18.204 [debug] QUERY OK source="media_items" db=0.3ms idle=662.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-07 15:00:19Z], 3] 02:11:18.205 [debug] QUERY OK source="media_items" db=0.7ms idle=663.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er jeg kommet til at købe nye høns igen, fordi 21 ikke var nok, og Mikkel henter dem med mig. Vores ene gris er blevet døv, og så er der fuld gang i den, i keramik værkstedet med pat-kopper og ovntømning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27", "1d6b0147-c666-40b9-abc9-78e7c583271f", 3, [], 1621, false, "JyiMi5ofXPw", "https://www.youtube.com/watch?v=JyiMi5ofXPw", 25, "/downloads/shows/Livet på gården/Season 2024/s2024e110700 - Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27.mp4", false, false, false, 1, ~U[2024-11-07 15:00:19Z], ~U[2026-04-16 00:11:18Z], ~U[2026-04-16 00:11:18Z], "I dette afsnit er jeg kommet til at købe nye høns igen, fordi 21 ikke var nok, og Mikkel henter dem med mig. Vores ene gris er blevet døv, og så er der fuld gang i den, i keramik værkstedet med pat-kopper og ovntømning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27", 3, 1621, false, "JyiMi5ofXPw", "https://www.youtube.com/watch?v=JyiMi5ofXPw", "/downloads/shows/Livet på gården/Season 2024/s2024e110700 - Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27.mp4", false, ~U[2024-11-07 15:00:19Z]] 02:11:18.206 [debug] QUERY OK source="sources" db=0.1ms idle=169.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:18.206 [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] 02:11:18.207 [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 [249] 02:11:18.207 [debug] Current batch of media processed. Will check again in 1000ms 02:11:19.207 [debug] Current batch of media processed. Will check again in 1000ms 02:11:20.208 [debug] Current batch of media processed. Will check again in 1000ms 02:11:21.209 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er vi en kort tur i IKEA, pludseligt og voldsomt bliver en af vores små grise syge og må aflives - det samme få dage efter, og vi kender ikke årsagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1506, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e111400 - Døde grise og kæmpe krise | Livet på gården Ep. 28.mp4", "id" => "jEs2qt9f4cQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jEs2qt9f4cQ", "playlist_index" => 26, "timestamp" => 1731596451, "title" => "Døde grise og kæmpe krise | Livet på gården Ep. 28", "upload_date" => "20241114"} 02:11:21.210 [debug] QUERY OK source="sources" db=0.4ms idle=1668.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:21.211 [debug] QUERY OK source="sources" db=0.4ms idle=1669.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:21.211 [debug] QUERY OK source="media_items" db=0.5ms idle=1669.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-14 15:00:51Z], 3] 02:11:21.213 [debug] QUERY OK source="media_items" db=0.8ms idle=1172.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi en kort tur i IKEA, pludseligt og voldsomt bliver en af vores små grise syge og må aflives - det samme få dage efter, og vi kender ikke årsagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Døde grise og kæmpe krise | Livet på gården Ep. 28", "5fb6998d-3be0-4a80-a520-1ac2c2663da3", 3, [], 1506, false, "jEs2qt9f4cQ", "https://www.youtube.com/watch?v=jEs2qt9f4cQ", 26, "/downloads/shows/Livet på gården/Season 2024/s2024e111400 - Døde grise og kæmpe krise | Livet på gården Ep. 28.mp4", false, false, false, 1, ~U[2024-11-14 15:00:51Z], ~U[2026-04-16 00:11:21Z], ~U[2026-04-16 00:11:21Z], "I dette afsnit er vi en kort tur i IKEA, pludseligt og voldsomt bliver en af vores små grise syge og må aflives - det samme få dage efter, og vi kender ikke årsagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Døde grise og kæmpe krise | Livet på gården Ep. 28", 3, 1506, false, "jEs2qt9f4cQ", "https://www.youtube.com/watch?v=jEs2qt9f4cQ", "/downloads/shows/Livet på gården/Season 2024/s2024e111400 - Døde grise og kæmpe krise | Livet på gården Ep. 28.mp4", false, ~U[2024-11-14 15:00:51Z]] 02:11:21.214 [debug] QUERY OK source="sources" db=0.4ms idle=172.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:21.215 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.6ms 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] 02:11:21.216 [debug] QUERY OK source="media_items" db=0.3ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [250] 02:11:21.216 [debug] Current batch of media processed. Will check again in 1000ms 02:11:22.217 [debug] Current batch of media processed. Will check again in 1000ms 02:11:23.219 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er der en høne som er blevet syg, og er flyttet ind i stuen til Mikkel kommer hjem og må klare sagerne. Hvidløgene skal i jorden inden frosten, og så er der flytter rotter ind på loftet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1529, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e112100 - Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29.mp4", "id" => "RfFqKyedfAE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RfFqKyedfAE", "playlist_index" => 27, "timestamp" => 1732201226, "title" => "Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29", "upload_date" => "20241121"} 02:11:23.220 [debug] QUERY OK source="sources" db=0.3ms idle=677.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:23.220 [debug] QUERY OK source="sources" db=0.2ms idle=677.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:23.221 [debug] QUERY OK source="media_items" db=1.0ms idle=678.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-21 15:00:26Z], 3] 02:11:23.223 [debug] QUERY OK source="media_items" db=1.1ms idle=679.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der en høne som er blevet syg, og er flyttet ind i stuen til Mikkel kommer hjem og må klare sagerne. Hvidløgene skal i jorden inden frosten, og så er der flytter rotter ind på loftet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29", "60ab0274-8acf-4ee8-a94a-765275cf9b53", 3, [], 1529, false, "RfFqKyedfAE", "https://www.youtube.com/watch?v=RfFqKyedfAE", 27, "/downloads/shows/Livet på gården/Season 2024/s2024e112100 - Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29.mp4", false, false, false, 1, ~U[2024-11-21 15:00:26Z], ~U[2026-04-16 00:11:23Z], ~U[2026-04-16 00:11:23Z], "I dette afsnit er der en høne som er blevet syg, og er flyttet ind i stuen til Mikkel kommer hjem og må klare sagerne. Hvidløgene skal i jorden inden frosten, og så er der flytter rotter ind på loftet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29", 3, 1529, false, "RfFqKyedfAE", "https://www.youtube.com/watch?v=RfFqKyedfAE", "/downloads/shows/Livet på gården/Season 2024/s2024e112100 - Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29.mp4", false, ~U[2024-11-21 15:00:26Z]] 02:11:23.224 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [3] 02:11:23.225 [debug] QUERY OK source="media_profiles" db=0.4ms queue=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] 02:11:23.226 [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 [251] 02:11:23.226 [debug] Current batch of media processed. Will check again in 1000ms 02:11:24.227 [debug] Current batch of media processed. Will check again in 1000ms 02:11:25.228 [debug] Current batch of media processed. Will check again in 1000ms 02:11:26.229 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er der endnu engang ikke held ved grisene. Vores elskede Connie har fået en stor byld og er generelt svag. Rotterne har invarderet gården - og Mikkels tanker, og så begynder vi så småt at gøre os tanker om renoveringen af overetagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1708, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e112800 - En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30.mp4", "id" => "X73rI43iuD4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=X73rI43iuD4", "playlist_index" => 28, "timestamp" => 1732806036, "title" => "En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30", "upload_date" => "20241128"} 02:11:26.230 [debug] QUERY OK source="sources" db=0.2ms idle=1687.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:26.230 [debug] QUERY OK source="sources" db=0.1ms idle=1687.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:26.231 [debug] QUERY OK source="media_items" db=0.7ms idle=1688.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-28 15:00:36Z], 3] 02:11:26.233 [debug] QUERY OK source="media_items" db=0.9ms idle=1186.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der endnu engang ikke held ved grisene. Vores elskede Connie har fået en stor byld og er generelt svag. Rotterne har invarderet gården - og Mikkels tanker, og så begynder vi så småt at gøre os tanker om renoveringen af overetagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30", "ed58ab64-f591-42bc-95b0-8d5801481c91", 3, [], 1708, false, "X73rI43iuD4", "https://www.youtube.com/watch?v=X73rI43iuD4", 28, "/downloads/shows/Livet på gården/Season 2024/s2024e112800 - En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30.mp4", false, false, false, 1, ~U[2024-11-28 15:00:36Z], ~U[2026-04-16 00:11:26Z], ~U[2026-04-16 00:11:26Z], "I dette afsnit er der endnu engang ikke held ved grisene. Vores elskede Connie har fået en stor byld og er generelt svag. Rotterne har invarderet gården - og Mikkels tanker, og så begynder vi så småt at gøre os tanker om renoveringen af overetagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30", 3, 1708, false, "X73rI43iuD4", "https://www.youtube.com/watch?v=X73rI43iuD4", "/downloads/shows/Livet på gården/Season 2024/s2024e112800 - En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30.mp4", false, ~U[2024-11-28 15:00:36Z]] 02:11:26.234 [debug] QUERY OK source="sources" db=0.7ms idle=186.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:26.235 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 02:11:26.236 [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 [252] 02:11:26.236 [debug] Current batch of media processed. Will check again in 1000ms 02:11:27.237 [debug] Current batch of media processed. Will check again in 1000ms 02:11:27.849 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:28.238 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1586, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e010200 - Vores grise stikker af | Livet på gården Ep. 31.mp4", "id" => "mdvG-5UJYRw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mdvG-5UJYRw", "playlist_index" => 29, "timestamp" => 1735830053, "title" => "Vores grise stikker af | Livet på gården Ep. 31", "upload_date" => "20250102"} 02:11:28.239 [debug] QUERY OK source="sources" db=0.2ms idle=696.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:28.239 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=697.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:28.240 [debug] QUERY OK source="media_items" db=0.3ms idle=697.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-02 15:00:53Z], 3] 02:11:28.242 [debug] QUERY OK source="media_items" db=0.7ms idle=391.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores grise stikker af | Livet på gården Ep. 31", "1908e610-4233-4617-8f9f-a6585c9dfa98", 3, [], 1586, false, "mdvG-5UJYRw", "https://www.youtube.com/watch?v=mdvG-5UJYRw", 29, "/downloads/shows/Livet på gården/Season 2025/s2025e010200 - Vores grise stikker af | Livet på gården Ep. 31.mp4", false, false, false, 1, ~U[2025-01-02 15:00:53Z], ~U[2026-04-16 00:11:28Z], ~U[2026-04-16 00:11:28Z], "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores grise stikker af | Livet på gården Ep. 31", 3, 1586, false, "mdvG-5UJYRw", "https://www.youtube.com/watch?v=mdvG-5UJYRw", "/downloads/shows/Livet på gården/Season 2025/s2025e010200 - Vores grise stikker af | Livet på gården Ep. 31.mp4", false, ~U[2025-01-02 15:00:53Z]] 02:11:28.242 [debug] QUERY OK source="sources" db=0.2ms idle=192.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:28.243 [debug] QUERY OK source="media_profiles" db=1.0ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:11:28.245 [debug] QUERY OK source="media_items" db=0.9ms 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 [253] 02:11:28.245 [debug] Current batch of media processed. Will check again in 1000ms 02:11:29.246 [debug] Current batch of media processed. Will check again in 1000ms 02:11:30.247 [debug] Current batch of media processed. Will check again in 1000ms 02:11:31.248 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video er vi til 20 ugers scanning med en sund og rask baby, og finder ud af hvad kønnet er. Vi køber nyt spisebord, får nye æggefarver, opdager en ny hane og så har jeg nesting syndrom.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1189, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e010900 - Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32.mp4", "id" => "in68bPvRI18", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=in68bPvRI18", "playlist_index" => 30, "timestamp" => 1736434862, "title" => "Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32", "upload_date" => "20250109"} 02:11:31.249 [debug] QUERY OK source="sources" db=0.2ms idle=1706.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:31.249 [debug] QUERY OK source="sources" db=0.1ms idle=1706.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:31.250 [debug] QUERY OK source="media_items" db=0.3ms idle=1707.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-09 15:01:02Z], 3] 02:11:31.251 [debug] QUERY OK source="media_items" db=0.7ms idle=1197.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video er vi til 20 ugers scanning med en sund og rask baby, og finder ud af hvad kønnet er. Vi køber nyt spisebord, får nye æggefarver, opdager en ny hane og så har jeg nesting syndrom.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32", "d8f16ed3-34f3-4691-9fad-c37dae223b62", 3, [], 1189, false, "in68bPvRI18", "https://www.youtube.com/watch?v=in68bPvRI18", 30, "/downloads/shows/Livet på gården/Season 2025/s2025e010900 - Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32.mp4", false, false, false, 1, ~U[2025-01-09 15:01:02Z], ~U[2026-04-16 00:11:31Z], ~U[2026-04-16 00:11:31Z], "I denne video er vi til 20 ugers scanning med en sund og rask baby, og finder ud af hvad kønnet er. Vi køber nyt spisebord, får nye æggefarver, opdager en ny hane og så har jeg nesting syndrom.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32", 3, 1189, false, "in68bPvRI18", "https://www.youtube.com/watch?v=in68bPvRI18", "/downloads/shows/Livet på gården/Season 2025/s2025e010900 - Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32.mp4", false, ~U[2025-01-09 15:01:02Z]] 02:11:31.251 [debug] QUERY OK source="sources" db=0.1ms idle=197.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:31.252 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:11:31.252 [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 [254] 02:11:31.252 [debug] Current batch of media processed. Will check again in 1000ms 02:11:32.253 [debug] Current batch of media processed. Will check again in 1000ms 02:11:33.254 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne gang i livet på gården kommer i med i køkkenet. Vinteren er over os, og jeg bruger meget tid indendøre, da dyrene er i ro og naturen er i dvale. Jeg elsker at lave mad, så se med på hvad jeg spiser på en dag, samt en omgang cookie bagning. Opskriften er denne: \n\nOpskrift til ca. 35 cookies\nDu skal bruge:\n240 g blødt smør\n300 g brun farin\n100 g sukker\n2 æg\n420 g hvedemel\n2 tsk bagepulver\n1 tsk natron\n2 tsk salt\n300 g chokolade\n\nPisk smør, sukker og brun farin sammen. Tilsæt æg og pisk med.\n\nTilsæt hvedemel, natron, bagepulver og salt. Pisk sammen.\n\nHak chokolade og vend det i dejen.\n\nTænd ovnen på 200 grader varmluft.\n\nForm kugler af dejen eller brug en isske.\n\nBag i ca. 10 min, til kanterne er gyldne, men midten stadig er “flydende”. Afkøl til de har sat sig. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1320, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e011600 - Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33.mp4", "id" => "7eqGNG6x48o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7eqGNG6x48o", "playlist_index" => 31, "timestamp" => 1737039613, "title" => "Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33", "upload_date" => "20250116"} 02:11:33.255 [debug] QUERY OK source="sources" db=0.2ms idle=712.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:33.255 [debug] QUERY OK source="sources" db=0.1ms idle=713.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:33.256 [debug] QUERY OK source="media_items" db=0.3ms idle=713.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-16 15:00:13Z], 3] 02:11:33.257 [debug] QUERY OK source="media_items" db=0.9ms idle=714.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne gang i livet på gården kommer i med i køkkenet. Vinteren er over os, og jeg bruger meget tid indendøre, da dyrene er i ro og naturen er i dvale. Jeg elsker at lave mad, så se med på hvad jeg spiser på en dag, samt en omgang cookie bagning. Opskriften er denne: \n\nOpskrift til ca. 35 cookies\nDu skal bruge:\n240 g blødt smør\n300 g brun farin\n100 g sukker\n2 æg\n420 g hvedemel\n2 tsk bagepulver\n1 tsk natron\n2 tsk salt\n300 g chokolade\n\nPisk smør, sukker og brun farin sammen. Tilsæt æg og pisk med.\n\nTilsæt hvedemel, natron, bagepulver og salt. Pisk sammen.\n\nHak chokolade og vend det i dejen.\n\nTænd ovnen på 200 grader varmluft.\n\nForm kugler af dejen eller brug en isske.\n\nBag i ca. 10 min, til kanterne er gyldne, men midten stadig er “flydende”. Afkøl til de har sat sig. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33", "20854c82-93b3-4d4e-b991-ffd972167175", 3, [], 1320, false, "7eqGNG6x48o", "https://www.youtube.com/watch?v=7eqGNG6x48o", 31, "/downloads/shows/Livet på gården/Season 2025/s2025e011600 - Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33.mp4", false, false, false, 1, ~U[2025-01-16 15:00:13Z], ~U[2026-04-16 00:11:33Z], ~U[2026-04-16 00:11:33Z], "Denne gang i livet på gården kommer i med i køkkenet. Vinteren er over os, og jeg bruger meget tid indendøre, da dyrene er i ro og naturen er i dvale. Jeg elsker at lave mad, så se med på hvad jeg spiser på en dag, samt en omgang cookie bagning. Opskriften er denne: \n\nOpskrift til ca. 35 cookies\nDu skal bruge:\n240 g blødt smør\n300 g brun farin\n100 g sukker\n2 æg\n420 g hvedemel\n2 tsk bagepulver\n1 tsk natron\n2 tsk salt\n300 g chokolade\n\nPisk smør, sukker og brun farin sammen. Tilsæt æg og pisk med.\n\nTilsæt hvedemel, natron, bagepulver og salt. Pisk sammen.\n\nHak chokolade og vend det i dejen.\n\nTænd ovnen på 200 grader varmluft.\n\nForm kugler af dejen eller brug en isske.\n\nBag i ca. 10 min, til kanterne er gyldne, men midten stadig er “flydende”. Afkøl til de har sat sig. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33", 3, 1320, false, "7eqGNG6x48o", "https://www.youtube.com/watch?v=7eqGNG6x48o", "/downloads/shows/Livet på gården/Season 2025/s2025e011600 - Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33.mp4", false, ~U[2025-01-16 15:00:13Z]] 02:11:33.258 [debug] QUERY OK source="sources" db=0.1ms idle=200.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:33.258 [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] 02:11:33.259 [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 [255] 02:11:33.259 [debug] Current batch of media processed. Will check again in 1000ms 02:11:34.261 [debug] Current batch of media processed. Will check again in 1000ms 02:11:35.262 [debug] Current batch of media processed. Will check again in 1000ms 02:11:36.263 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode kommer i med når vi forbereder og laver maden nytårsaften, som for os går stille for sig med en baby i maven og dyr der har brug for nærvær. Det nye år starter hårdt ud med strømsvigt i elhegnet, så grisene igen kan stikke af. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1554, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e012300 - Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34.mp4", "id" => "DHmTZSb2QAg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DHmTZSb2QAg", "playlist_index" => 32, "timestamp" => 1737644414, "title" => "Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34", "upload_date" => "20250123"} 02:11:36.264 [debug] QUERY OK source="sources" db=0.2ms idle=1721.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:36.264 [debug] QUERY OK source="sources" db=0.1ms idle=1721.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:36.265 [debug] QUERY OK source="media_items" db=0.3ms idle=1722.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-23 15:00:14Z], 3] 02:11:36.266 [debug] QUERY OK source="media_items" db=0.7ms idle=1206.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode kommer i med når vi forbereder og laver maden nytårsaften, som for os går stille for sig med en baby i maven og dyr der har brug for nærvær. Det nye år starter hårdt ud med strømsvigt i elhegnet, så grisene igen kan stikke af. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34", "ae6fc148-59a1-4ef9-be42-18c911849631", 3, [], 1554, false, "DHmTZSb2QAg", "https://www.youtube.com/watch?v=DHmTZSb2QAg", 32, "/downloads/shows/Livet på gården/Season 2025/s2025e012300 - Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34.mp4", false, false, false, 1, ~U[2025-01-23 15:00:14Z], ~U[2026-04-16 00:11:36Z], ~U[2026-04-16 00:11:36Z], "I denne episode kommer i med når vi forbereder og laver maden nytårsaften, som for os går stille for sig med en baby i maven og dyr der har brug for nærvær. Det nye år starter hårdt ud med strømsvigt i elhegnet, så grisene igen kan stikke af. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34", 3, 1554, false, "DHmTZSb2QAg", "https://www.youtube.com/watch?v=DHmTZSb2QAg", "/downloads/shows/Livet på gården/Season 2025/s2025e012300 - Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34.mp4", false, ~U[2025-01-23 15:00:14Z]] 02:11:36.266 [debug] QUERY OK source="sources" db=0.2ms idle=206.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:36.267 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:11:36.267 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [287] 02:11:36.268 [debug] Current batch of media processed. Will check again in 1000ms 02:11:37.268 [debug] Current batch of media processed. Will check again in 1000ms 02:11:38.269 [debug] Current batch of media processed. Will check again in 1000ms 02:11:39.270 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit bikser vi lynhurtigt en stald op til grisene, dog ikke uden problemer, da stødhegnet driller. Heldigvis kommer de på plads, og får nyt hjem som de er meget glade for. Derudover er vi så småt begyndt at shoppe til baby pigen, og har købt en barnevogn og andre sager. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1577, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e013000 - Ny grisestald og babyhaul | Livet på gården Ep. 35.mp4", "id" => "06C0dkPjHIU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=06C0dkPjHIU", "playlist_index" => 33, "timestamp" => 1738249201, "title" => "Ny grisestald og babyhaul | Livet på gården Ep. 35", "upload_date" => "20250130"} 02:11:39.271 [debug] QUERY OK source="sources" db=0.3ms idle=1728.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:39.272 [debug] QUERY OK source="sources" db=0.3ms idle=1729.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:39.273 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1729.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-30 15:00:01Z], 3] 02:11:39.275 [debug] QUERY OK source="media_items" db=1.4ms idle=1210.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit bikser vi lynhurtigt en stald op til grisene, dog ikke uden problemer, da stødhegnet driller. Heldigvis kommer de på plads, og får nyt hjem som de er meget glade for. Derudover er vi så småt begyndt at shoppe til baby pigen, og har købt en barnevogn og andre sager. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny grisestald og babyhaul | Livet på gården Ep. 35", "21c525b6-fa97-4b0c-bce4-a81202a585f7", 3, [], 1577, false, "06C0dkPjHIU", "https://www.youtube.com/watch?v=06C0dkPjHIU", 33, "/downloads/shows/Livet på gården/Season 2025/s2025e013000 - Ny grisestald og babyhaul | Livet på gården Ep. 35.mp4", false, false, false, 1, ~U[2025-01-30 15:00:01Z], ~U[2026-04-16 00:11:39Z], ~U[2026-04-16 00:11:39Z], "I dette afsnit bikser vi lynhurtigt en stald op til grisene, dog ikke uden problemer, da stødhegnet driller. Heldigvis kommer de på plads, og får nyt hjem som de er meget glade for. Derudover er vi så småt begyndt at shoppe til baby pigen, og har købt en barnevogn og andre sager. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny grisestald og babyhaul | Livet på gården Ep. 35", 3, 1577, false, "06C0dkPjHIU", "https://www.youtube.com/watch?v=06C0dkPjHIU", "/downloads/shows/Livet på gården/Season 2025/s2025e013000 - Ny grisestald og babyhaul | Livet på gården Ep. 35.mp4", false, ~U[2025-01-30 15:00:01Z]] 02:11:39.275 [debug] QUERY OK source="sources" db=0.3ms idle=209.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:39.276 [debug] QUERY OK source="media_profiles" db=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] 02:11:39.277 [debug] QUERY OK source="media_items" db=0.3ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5894] 02:11:39.277 [debug] Current batch of media processed. Will check again in 1000ms 02:11:40.277 [debug] Current batch of media processed. Will check again in 1000ms 02:11:41.278 [debug] Current batch of media processed. Will check again in 1000ms 02:11:42.279 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit kommer i med i køkkenet en helt almindelig hverdags aften hvor vi har pizza aften. Vi er hverken eksperter eller noget, men vi elsker hygger ved at lave pizza sammen. Rotterne er fortsat på færde og med sit luftgevær går Mikkel på jagt og fanger faktisk 2 rotter. Kæmpe succes!\n\nPizzadej: https://stinna.dk/aftensmad/nem-pizzadej.html\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1119, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e020600 - Pizzaaften og rottefangst | Livet på gården Ep. 36.mp4", "id" => "5VIOEvQa6qs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5VIOEvQa6qs", "playlist_index" => 34, "timestamp" => 1738854015, "title" => "Pizzaaften og rottefangst | Livet på gården Ep. 36", "upload_date" => "20250206"} 02:11:42.280 [debug] QUERY OK source="sources" db=0.2ms idle=1733.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:42.281 [debug] QUERY OK source="sources" db=0.4ms idle=1734.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:42.282 [debug] QUERY OK source="media_items" db=0.8ms idle=1734.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-06 15:00:15Z], 3] 02:11:42.284 [debug] QUERY OK source="media_items" db=1.4ms idle=1213.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i med i køkkenet en helt almindelig hverdags aften hvor vi har pizza aften. Vi er hverken eksperter eller noget, men vi elsker hygger ved at lave pizza sammen. Rotterne er fortsat på færde og med sit luftgevær går Mikkel på jagt og fanger faktisk 2 rotter. Kæmpe succes!\n\nPizzadej: https://stinna.dk/aftensmad/nem-pizzadej.html\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Pizzaaften og rottefangst | Livet på gården Ep. 36", "db3ca7a0-6c38-4f26-9e6f-eb601f6a777d", 3, [], 1119, false, "5VIOEvQa6qs", "https://www.youtube.com/watch?v=5VIOEvQa6qs", 34, "/downloads/shows/Livet på gården/Season 2025/s2025e020600 - Pizzaaften og rottefangst | Livet på gården Ep. 36.mp4", false, false, false, 1, ~U[2025-02-06 15:00:15Z], ~U[2026-04-16 00:11:42Z], ~U[2026-04-16 00:11:42Z], "I dette afsnit kommer i med i køkkenet en helt almindelig hverdags aften hvor vi har pizza aften. Vi er hverken eksperter eller noget, men vi elsker hygger ved at lave pizza sammen. Rotterne er fortsat på færde og med sit luftgevær går Mikkel på jagt og fanger faktisk 2 rotter. Kæmpe succes!\n\nPizzadej: https://stinna.dk/aftensmad/nem-pizzadej.html\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Pizzaaften og rottefangst | Livet på gården Ep. 36", 3, 1119, false, "5VIOEvQa6qs", "https://www.youtube.com/watch?v=5VIOEvQa6qs", "/downloads/shows/Livet på gården/Season 2025/s2025e020600 - Pizzaaften og rottefangst | Livet på gården Ep. 36.mp4", false, ~U[2025-02-06 15:00:15Z]] 02:11:42.285 [debug] QUERY OK source="sources" db=0.4ms idle=211.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:42.285 [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] 02:11:42.286 [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 [7183] 02:11:42.286 [debug] Current batch of media processed. Will check again in 1000ms 02:11:43.287 [debug] Current batch of media processed. Will check again in 1000ms 02:11:44.288 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh. \n\nI denne video kommer i med i løbet af mad-dag. Jeg er gravid i 3. trimester og er mere sulten end nogensinde før. Jeg spiser hvad jeg lyster og nemheden er vigtig for os lige nu da jeg er udfordret i de store indkøb - så derfor får vi måltidskasser fra HelloFresh. Det er nemt, lækkert og virkelig inspirerende. \n\nDu kan lige nu spare op til 1079 kroner på dine 3 første måltidskasser fra HelloFresh og få en gratis dessert med ved hver bestilling de første 3 måneder hvis du er ny kunde - ved brug af min rabatkode KRISTINEFRESH25 eller ved at klikke på linket her: http://www.hellofresh.dk/KRISTINEFRESH25\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 964, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e021300 - Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37.mp4", "id" => "C4VNr3_SRjc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=C4VNr3_SRjc", "playlist_index" => 35, "timestamp" => 1739458815, "title" => "Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37", "upload_date" => "20250213"} 02:11:44.289 [debug] QUERY OK source="sources" db=0.3ms idle=742.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:44.289 [debug] QUERY OK source="sources" db=0.1ms idle=743.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:44.290 [debug] QUERY OK source="media_items" db=0.3ms idle=743.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-13 15:00:15Z], 3] 02:11:44.292 [debug] QUERY OK source="media_items" db=1.3ms idle=744.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nI denne video kommer i med i løbet af mad-dag. Jeg er gravid i 3. trimester og er mere sulten end nogensinde før. Jeg spiser hvad jeg lyster og nemheden er vigtig for os lige nu da jeg er udfordret i de store indkøb - så derfor får vi måltidskasser fra HelloFresh. Det er nemt, lækkert og virkelig inspirerende. \n\nDu kan lige nu spare op til 1079 kroner på dine 3 første måltidskasser fra HelloFresh og få en gratis dessert med ved hver bestilling de første 3 måneder hvis du er ny kunde - ved brug af min rabatkode KRISTINEFRESH25 eller ved at klikke på linket her: http://www.hellofresh.dk/KRISTINEFRESH25\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37", "0e9698dc-5ea6-4c46-a3cf-b5f7fee48fff", 3, [], 964, false, "C4VNr3_SRjc", "https://www.youtube.com/watch?v=C4VNr3_SRjc", 35, "/downloads/shows/Livet på gården/Season 2025/s2025e021300 - Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37.mp4", false, false, false, 1, ~U[2025-02-13 15:00:15Z], ~U[2026-04-16 00:11:44Z], ~U[2026-04-16 00:11:44Z], "Denne video indeholder reklame for HelloFresh. \n\nI denne video kommer i med i løbet af mad-dag. Jeg er gravid i 3. trimester og er mere sulten end nogensinde før. Jeg spiser hvad jeg lyster og nemheden er vigtig for os lige nu da jeg er udfordret i de store indkøb - så derfor får vi måltidskasser fra HelloFresh. Det er nemt, lækkert og virkelig inspirerende. \n\nDu kan lige nu spare op til 1079 kroner på dine 3 første måltidskasser fra HelloFresh og få en gratis dessert med ved hver bestilling de første 3 måneder hvis du er ny kunde - ved brug af min rabatkode KRISTINEFRESH25 eller ved at klikke på linket her: http://www.hellofresh.dk/KRISTINEFRESH25\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37", 3, 964, false, "C4VNr3_SRjc", "https://www.youtube.com/watch?v=C4VNr3_SRjc", "/downloads/shows/Livet på gården/Season 2025/s2025e021300 - Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37.mp4", false, ~U[2025-02-13 15:00:15Z]] 02:11:44.292 [debug] QUERY OK source="sources" db=0.1ms idle=215.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:44.293 [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] 02:11:44.293 [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 [8385] 02:11:44.293 [debug] Current batch of media processed. Will check again in 1000ms 02:11:45.294 [debug] Current batch of media processed. Will check again in 1000ms 02:11:46.295 [debug] Current batch of media processed. Will check again in 1000ms 02:11:47.296 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode er der igen igen gang i rotterne, og vi beslutter os for at rydde hønsehus for sager og flytte æggestationen. Willy har haft en byld der er sprunget, og må akut til dyrelægen - og så giver jeg en update på hvordan det går både med mig og graviditeten.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1364, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e022000 - En skæv kat og en graviditetsupdate | Livet på gården Ep. 38.mp4", "id" => "y7cv58JT-FI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=y7cv58JT-FI", "playlist_index" => 36, "timestamp" => 1740063685, "title" => "En skæv kat og en graviditetsupdate | Livet på gården Ep. 38", "upload_date" => "20250220"} 02:11:47.297 [debug] QUERY OK source="sources" db=0.2ms idle=1750.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:47.297 [debug] QUERY OK source="sources" db=0.1ms idle=1750.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:47.298 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1751.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-20 15:01:25Z], 3] 02:11:47.302 [debug] QUERY OK source="media_items" db=2.7ms idle=1219.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode er der igen igen gang i rotterne, og vi beslutter os for at rydde hønsehus for sager og flytte æggestationen. Willy har haft en byld der er sprunget, og må akut til dyrelægen - og så giver jeg en update på hvordan det går både med mig og graviditeten.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En skæv kat og en graviditetsupdate | Livet på gården Ep. 38", "bbedc72d-522f-400a-ba48-c56fdf1e6c6f", 3, [], 1364, false, "y7cv58JT-FI", "https://www.youtube.com/watch?v=y7cv58JT-FI", 36, "/downloads/shows/Livet på gården/Season 2025/s2025e022000 - En skæv kat og en graviditetsupdate | Livet på gården Ep. 38.mp4", false, false, false, 1, ~U[2025-02-20 15:01:25Z], ~U[2026-04-16 00:11:47Z], ~U[2026-04-16 00:11:47Z], "I denne episode er der igen igen gang i rotterne, og vi beslutter os for at rydde hønsehus for sager og flytte æggestationen. Willy har haft en byld der er sprunget, og må akut til dyrelægen - og så giver jeg en update på hvordan det går både med mig og graviditeten.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En skæv kat og en graviditetsupdate | Livet på gården Ep. 38", 3, 1364, false, "y7cv58JT-FI", "https://www.youtube.com/watch?v=y7cv58JT-FI", "/downloads/shows/Livet på gården/Season 2025/s2025e022000 - En skæv kat og en graviditetsupdate | Livet på gården Ep. 38.mp4", false, ~U[2025-02-20 15:01:25Z]] 02:11:47.302 [debug] QUERY OK source="sources" db=0.2ms idle=222.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:47.303 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 02:11:47.304 [debug] QUERY OK source="media_items" db=0.5ms 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 [9710] 02:11:47.304 [debug] Current batch of media processed. Will check again in 1000ms 02:11:48.305 [debug] Current batch of media processed. Will check again in 1000ms 02:11:49.306 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården handler jeg ind til ugens madplan og så bruger vi en helt fantastisk og rolig dag udenfor. Mikkel får ordnet brænde og vi forbereder os så småt på foråret - for inden vi aner det holder Mikkel fri, for at nå så meget renovering af overetagen som muligt inden baby kommer.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1194, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e030600 - Indkøbshaul og forår i luften | Livet på gården Ep. 39.mp4", "id" => "lZWB5QR4wPQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lZWB5QR4wPQ", "playlist_index" => 37, "timestamp" => 1741273266, "title" => "Indkøbshaul og forår i luften | Livet på gården Ep. 39", "upload_date" => "20250306"} 02:11:49.307 [debug] QUERY OK source="sources" db=0.2ms idle=760.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:49.307 [debug] QUERY OK source="sources" db=0.2ms idle=760.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:49.308 [debug] QUERY OK source="media_items" db=0.4ms idle=761.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-06 15:01:06Z], 3] 02:11:49.310 [debug] QUERY OK source="media_items" db=1.3ms idle=762.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården handler jeg ind til ugens madplan og så bruger vi en helt fantastisk og rolig dag udenfor. Mikkel får ordnet brænde og vi forbereder os så småt på foråret - for inden vi aner det holder Mikkel fri, for at nå så meget renovering af overetagen som muligt inden baby kommer.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indkøbshaul og forår i luften | Livet på gården Ep. 39", "f8f6b738-e281-4e4c-8fd6-afb052c07285", 3, [], 1194, false, "lZWB5QR4wPQ", "https://www.youtube.com/watch?v=lZWB5QR4wPQ", 37, "/downloads/shows/Livet på gården/Season 2025/s2025e030600 - Indkøbshaul og forår i luften | Livet på gården Ep. 39.mp4", false, false, false, 1, ~U[2025-03-06 15:01:06Z], ~U[2026-04-16 00:11:49Z], ~U[2026-04-16 00:11:49Z], "I dette afsnit af livet på gården handler jeg ind til ugens madplan og så bruger vi en helt fantastisk og rolig dag udenfor. Mikkel får ordnet brænde og vi forbereder os så småt på foråret - for inden vi aner det holder Mikkel fri, for at nå så meget renovering af overetagen som muligt inden baby kommer.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indkøbshaul og forår i luften | Livet på gården Ep. 39", 3, 1194, false, "lZWB5QR4wPQ", "https://www.youtube.com/watch?v=lZWB5QR4wPQ", "/downloads/shows/Livet på gården/Season 2025/s2025e030600 - Indkøbshaul og forår i luften | Livet på gården Ep. 39.mp4", false, ~U[2025-03-06 15:01:06Z]] 02:11:49.310 [debug] QUERY OK source="sources" db=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" = ?) [3] 02:11:49.311 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:11:49.311 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13149] 02:11:49.312 [debug] Current batch of media processed. Will check again in 1000ms 02:11:50.312 [debug] Current batch of media processed. Will check again in 1000ms 02:11:51.313 [debug] Current batch of media processed. Will check again in 1000ms 02:11:52.314 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården tager jeg jer med ind i en tankestrøm på en af de svære dage. Hønsedamerne er endeligt begyndt at lægge æg, så det giver mening og så er mine forældre på besøg, og der sker som altid en masse. Jeg får endelig en fryser indenfor og så sætter min far og Mikkel en midlertidig trappe op, så vi så småt kan begynde på overetagen!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1167, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e031300 - En træt krop og en trappe til overetagen | Livet på gården Ep. 40.mp4", "id" => "Ok2_GV07ZBQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ok2_GV07ZBQ", "playlist_index" => 38, "timestamp" => 1741878023, "title" => "En træt krop og en trappe til overetagen | Livet på gården Ep. 40", "upload_date" => "20250313"} 02:11:52.315 [debug] QUERY OK source="sources" db=0.3ms idle=1768.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:52.315 [debug] QUERY OK source="sources" db=0.1ms idle=1769.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:52.316 [debug] QUERY OK source="media_items" db=0.3ms idle=1769.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-13 15:00:23Z], 3] 02:11:52.318 [debug] QUERY OK source="media_items" db=1.5ms idle=1231.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården tager jeg jer med ind i en tankestrøm på en af de svære dage. Hønsedamerne er endeligt begyndt at lægge æg, så det giver mening og så er mine forældre på besøg, og der sker som altid en masse. Jeg får endelig en fryser indenfor og så sætter min far og Mikkel en midlertidig trappe op, så vi så småt kan begynde på overetagen!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En træt krop og en trappe til overetagen | Livet på gården Ep. 40", "bd5d6813-ee2e-4c35-a79a-02ff0d1b382c", 3, [], 1167, false, "Ok2_GV07ZBQ", "https://www.youtube.com/watch?v=Ok2_GV07ZBQ", 38, "/downloads/shows/Livet på gården/Season 2025/s2025e031300 - En træt krop og en trappe til overetagen | Livet på gården Ep. 40.mp4", false, false, false, 1, ~U[2025-03-13 15:00:23Z], ~U[2026-04-16 00:11:52Z], ~U[2026-04-16 00:11:52Z], "I dette afsnit af livet på gården tager jeg jer med ind i en tankestrøm på en af de svære dage. Hønsedamerne er endeligt begyndt at lægge æg, så det giver mening og så er mine forældre på besøg, og der sker som altid en masse. Jeg får endelig en fryser indenfor og så sætter min far og Mikkel en midlertidig trappe op, så vi så småt kan begynde på overetagen!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En træt krop og en trappe til overetagen | Livet på gården Ep. 40", 3, 1167, false, "Ok2_GV07ZBQ", "https://www.youtube.com/watch?v=Ok2_GV07ZBQ", "/downloads/shows/Livet på gården/Season 2025/s2025e031300 - En træt krop og en trappe til overetagen | Livet på gården Ep. 40.mp4", false, ~U[2025-03-13 15:00:23Z]] 02:11:52.319 [debug] QUERY OK source="sources" db=0.2ms idle=232.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:52.320 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 02:11:52.320 [debug] QUERY OK source="media_items" db=0.3ms 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 [15018] 02:11:52.320 [debug] Current batch of media processed. Will check again in 1000ms 02:11:53.321 [debug] Current batch of media processed. Will check again in 1000ms 02:11:54.322 [debug] Current batch of media processed. Will check again in 1000ms 02:11:55.323 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Der er sket meget siden sidst - jeg har født! Men inden da filmede jeg en masse gode sager, som jeg ikke synes i skal gå glip af. Blandt andet at vi er ramt af nesting syndrom og pludselig må have nye møbler og gardiner - og udenfor er Mikkel som altid i fuld gang - med bål og klargøring af drivhus. Pænt sidder jeg meget tyk og træt og kigger på imens. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1161, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e050800 - En baby og nesting mode | Livet på gården Ep. 41.mp4", "id" => "_dr97qz8fXE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_dr97qz8fXE", "playlist_index" => 39, "timestamp" => 1746712848, "title" => "En baby og nesting mode | Livet på gården Ep. 41", "upload_date" => "20250508"} 02:11:55.324 [debug] QUERY OK source="sources" db=0.5ms idle=1777.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:55.325 [debug] QUERY OK source="sources" db=0.8ms idle=1778.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:55.327 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=1779.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-08 14:00:48Z], 3] 02:11:55.329 [debug] QUERY OK source="media_items" db=1.7ms idle=1239.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Der er sket meget siden sidst - jeg har født! Men inden da filmede jeg en masse gode sager, som jeg ikke synes i skal gå glip af. Blandt andet at vi er ramt af nesting syndrom og pludselig må have nye møbler og gardiner - og udenfor er Mikkel som altid i fuld gang - med bål og klargøring af drivhus. Pænt sidder jeg meget tyk og træt og kigger på imens. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En baby og nesting mode | Livet på gården Ep. 41", "adb5430a-d493-4ef6-a705-bf5694db2e95", 3, [], 1161, false, "_dr97qz8fXE", "https://www.youtube.com/watch?v=_dr97qz8fXE", 39, "/downloads/shows/Livet på gården/Season 2025/s2025e050800 - En baby og nesting mode | Livet på gården Ep. 41.mp4", false, false, false, 1, ~U[2025-05-08 14:00:48Z], ~U[2026-04-16 00:11:55Z], ~U[2026-04-16 00:11:55Z], "Der er sket meget siden sidst - jeg har født! Men inden da filmede jeg en masse gode sager, som jeg ikke synes i skal gå glip af. Blandt andet at vi er ramt af nesting syndrom og pludselig må have nye møbler og gardiner - og udenfor er Mikkel som altid i fuld gang - med bål og klargøring af drivhus. Pænt sidder jeg meget tyk og træt og kigger på imens. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En baby og nesting mode | Livet på gården Ep. 41", 3, 1161, false, "_dr97qz8fXE", "https://www.youtube.com/watch?v=_dr97qz8fXE", "/downloads/shows/Livet på gården/Season 2025/s2025e050800 - En baby og nesting mode | Livet på gården Ep. 41.mp4", false, ~U[2025-05-08 14:00:48Z]] 02:11:55.330 [debug] QUERY OK source="sources" db=0.6ms idle=240.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:55.331 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.4ms 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] 02:11:55.332 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [31596] 02:11:55.332 [debug] Current batch of media processed. Will check again in 1000ms 02:11:56.333 [debug] Current batch of media processed. Will check again in 1000ms 02:11:57.334 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit handler det om knækbrød og køkkentid og rotter. Og så tager jeg en snak om grisene og hønsene, jeg er nemlig kommet i tvivl om det giver mening økonomisk at have grise som alligevel ikke bliver slagteklar forløbig. Hønsene vender vi også. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1565, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e051500 - Knækbrød og en snak om økonomien | Livet på gården Ep. 42.mp4", "id" => "XyfY9KQlii8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XyfY9KQlii8", "playlist_index" => 40, "timestamp" => 1747317649, "title" => "Knækbrød og en snak om økonomien | Livet på gården Ep. 42", "upload_date" => "20250515"} 02:11:57.335 [debug] QUERY OK source="sources" db=0.2ms idle=788.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:11:57.336 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=789.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:57.336 [debug] QUERY OK source="media_items" db=0.4ms idle=789.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-15 14:00:49Z], 3] 02:11:57.338 [debug] QUERY OK source="media_items" db=0.9ms idle=790.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit handler det om knækbrød og køkkentid og rotter. Og så tager jeg en snak om grisene og hønsene, jeg er nemlig kommet i tvivl om det giver mening økonomisk at have grise som alligevel ikke bliver slagteklar forløbig. Hønsene vender vi også. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Knækbrød og en snak om økonomien | Livet på gården Ep. 42", "ee449417-ab06-4714-9143-dc84b8353e6f", 3, [], 1565, false, "XyfY9KQlii8", "https://www.youtube.com/watch?v=XyfY9KQlii8", 40, "/downloads/shows/Livet på gården/Season 2025/s2025e051500 - Knækbrød og en snak om økonomien | Livet på gården Ep. 42.mp4", false, false, false, 1, ~U[2025-05-15 14:00:49Z], ~U[2026-04-16 00:11:57Z], ~U[2026-04-16 00:11:57Z], "I dette afsnit handler det om knækbrød og køkkentid og rotter. Og så tager jeg en snak om grisene og hønsene, jeg er nemlig kommet i tvivl om det giver mening økonomisk at have grise som alligevel ikke bliver slagteklar forløbig. Hønsene vender vi også. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Knækbrød og en snak om økonomien | Livet på gården Ep. 42", 3, 1565, false, "XyfY9KQlii8", "https://www.youtube.com/watch?v=XyfY9KQlii8", "/downloads/shows/Livet på gården/Season 2025/s2025e051500 - Knækbrød og en snak om økonomien | Livet på gården Ep. 42.mp4", false, ~U[2025-05-15 14:00:49Z]] 02:11:57.338 [debug] QUERY OK source="sources" db=0.2ms idle=246.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:11:57.339 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:11:57.340 [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 [33551] 02:11:57.340 [debug] Current batch of media processed. Will check again in 1000ms 02:11:57.850 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:58.342 [debug] Current batch of media processed. Will check again in 1000ms 02:11:59.342 [debug] Current batch of media processed. Will check again in 1000ms 02:12:00.343 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er der indkøbshaul, som synger på sidste vers inden jeg skal føde, da det simpelthen er for hårdt for mig at handle selv. Jeg forbereder mad til fryseren så der er godt mad til efter fødslen, og så har vi taget en stor beslutning om at pille taget af liiige kvart i termin og det sætter mine nerver på spidsen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1220, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e052200 - En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43.mp4", "id" => "4lsBpblT134", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4lsBpblT134", "playlist_index" => 41, "timestamp" => 1747922414, "title" => "En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43", "upload_date" => "20250522"} 02:12:00.344 [debug] QUERY OK source="sources" db=0.3ms idle=1797.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:00.344 [debug] QUERY OK source="sources" db=0.2ms idle=1798.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:00.345 [debug] QUERY OK source="media_items" db=0.4ms idle=1249.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-22 14:00:14Z], 3] 02:12:00.346 [debug] QUERY OK source="media_items" db=0.8ms idle=799.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der indkøbshaul, som synger på sidste vers inden jeg skal føde, da det simpelthen er for hårdt for mig at handle selv. Jeg forbereder mad til fryseren så der er godt mad til efter fødslen, og så har vi taget en stor beslutning om at pille taget af liiige kvart i termin og det sætter mine nerver på spidsen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43", "6cb61ad6-fe1e-42b9-ba84-541a96261945", 3, [], 1220, false, "4lsBpblT134", "https://www.youtube.com/watch?v=4lsBpblT134", 41, "/downloads/shows/Livet på gården/Season 2025/s2025e052200 - En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43.mp4", false, false, false, 1, ~U[2025-05-22 14:00:14Z], ~U[2026-04-16 00:12:00Z], ~U[2026-04-16 00:12:00Z], "I dette afsnit er der indkøbshaul, som synger på sidste vers inden jeg skal føde, da det simpelthen er for hårdt for mig at handle selv. Jeg forbereder mad til fryseren så der er godt mad til efter fødslen, og så har vi taget en stor beslutning om at pille taget af liiige kvart i termin og det sætter mine nerver på spidsen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43", 3, 1220, false, "4lsBpblT134", "https://www.youtube.com/watch?v=4lsBpblT134", "/downloads/shows/Livet på gården/Season 2025/s2025e052200 - En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43.mp4", false, ~U[2025-05-22 14:00:14Z]] 02:12:00.347 [debug] QUERY OK source="sources" db=0.2ms idle=250.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:00.347 [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] 02:12:00.348 [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 [35686] 02:12:00.348 [debug] Current batch of media processed. Will check again in 1000ms 02:12:00.751 [info] {"source":"oban","duration":256,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:12:01.349 [debug] Current batch of media processed. Will check again in 1000ms 02:12:02.350 [debug] Current batch of media processed. Will check again in 1000ms 02:12:03.351 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er jeg for alvor ved at være udfordret af min graviditet, jeg er kæmpe stor med meget væske i kroppen, alt imens at Mikkel knokler i døgndrift på at lave nyt tag. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1273, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e052900 - Højgravid og et hus uden tag | Livet på gården Ep. 44.mp4", "id" => "LwViuowDYFk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LwViuowDYFk", "playlist_index" => 42, "timestamp" => 1748527235, "title" => "Højgravid og et hus uden tag | Livet på gården Ep. 44", "upload_date" => "20250529"} 02:12:03.352 [debug] QUERY OK source="sources" db=0.3ms idle=1804.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:03.353 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [3] 02:12:03.353 [debug] QUERY OK source="media_items" db=0.4ms idle=1254.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-29 14:00:35Z], 3] 02:12:03.355 [debug] QUERY OK source="media_items" db=0.7ms idle=807.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er jeg for alvor ved at være udfordret af min graviditet, jeg er kæmpe stor med meget væske i kroppen, alt imens at Mikkel knokler i døgndrift på at lave nyt tag. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Højgravid og et hus uden tag | Livet på gården Ep. 44", "8bbc87cf-cd45-4b20-bba1-55a605bc9068", 3, [], 1273, false, "LwViuowDYFk", "https://www.youtube.com/watch?v=LwViuowDYFk", 42, "/downloads/shows/Livet på gården/Season 2025/s2025e052900 - Højgravid og et hus uden tag | Livet på gården Ep. 44.mp4", false, false, false, 1, ~U[2025-05-29 14:00:35Z], ~U[2026-04-16 00:12:03Z], ~U[2026-04-16 00:12:03Z], "I dette afsnit er jeg for alvor ved at være udfordret af min graviditet, jeg er kæmpe stor med meget væske i kroppen, alt imens at Mikkel knokler i døgndrift på at lave nyt tag. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Højgravid og et hus uden tag | Livet på gården Ep. 44", 3, 1273, false, "LwViuowDYFk", "https://www.youtube.com/watch?v=LwViuowDYFk", "/downloads/shows/Livet på gården/Season 2025/s2025e052900 - Højgravid og et hus uden tag | Livet på gården Ep. 44.mp4", false, ~U[2025-05-29 14:00:35Z]] 02:12:03.355 [debug] QUERY OK source="sources" db=0.2ms idle=255.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:03.356 [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] 02:12:03.356 [debug] QUERY OK source="media_items" db=0.3ms 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 [37791] 02:12:03.356 [debug] Current batch of media processed. Will check again in 1000ms 02:12:04.357 [debug] Current batch of media processed. Will check again in 1000ms 02:12:05.358 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit tager det hele pludselig en drejning da vi en dag er ved jordemoder og mit blodtryk er alt for højt. Efter tjek kommer vi hjem og når lige at rykke grisenes indhegning, før det desværre bliver nødvendigt at indlægge mig grundet svangerskabsforgiftning og diabetes. Og pludselig ser vi ind i en igangsættelse frem for en naturlig start på fødslen.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1394, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e060500 - Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45.mp4", "id" => "QVFwXhDMin4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QVFwXhDMin4", "playlist_index" => 43, "timestamp" => 1749132041, "title" => "Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45", "upload_date" => "20250605"} 02:12:05.359 [debug] QUERY OK source="sources" db=0.2ms idle=812.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:05.359 [debug] QUERY OK source="sources" db=0.1ms idle=812.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:05.360 [debug] QUERY OK source="media_items" db=0.3ms idle=813.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-05 14:00:41Z], 3] 02:12:05.361 [debug] QUERY OK source="media_items" db=0.8ms idle=814.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager det hele pludselig en drejning da vi en dag er ved jordemoder og mit blodtryk er alt for højt. Efter tjek kommer vi hjem og når lige at rykke grisenes indhegning, før det desværre bliver nødvendigt at indlægge mig grundet svangerskabsforgiftning og diabetes. Og pludselig ser vi ind i en igangsættelse frem for en naturlig start på fødslen.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45", "6b6cdd46-36bb-4436-b61f-cf8d742a7fa1", 3, [], 1394, false, "QVFwXhDMin4", "https://www.youtube.com/watch?v=QVFwXhDMin4", 43, "/downloads/shows/Livet på gården/Season 2025/s2025e060500 - Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45.mp4", false, false, false, 1, ~U[2025-06-05 14:00:41Z], ~U[2026-04-16 00:12:05Z], ~U[2026-04-16 00:12:05Z], "I dette afsnit tager det hele pludselig en drejning da vi en dag er ved jordemoder og mit blodtryk er alt for højt. Efter tjek kommer vi hjem og når lige at rykke grisenes indhegning, før det desværre bliver nødvendigt at indlægge mig grundet svangerskabsforgiftning og diabetes. Og pludselig ser vi ind i en igangsættelse frem for en naturlig start på fødslen.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45", 3, 1394, false, "QVFwXhDMin4", "https://www.youtube.com/watch?v=QVFwXhDMin4", "/downloads/shows/Livet på gården/Season 2025/s2025e060500 - Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45.mp4", false, ~U[2025-06-05 14:00:41Z]] 02:12:05.362 [debug] QUERY OK source="sources" db=0.1ms idle=260.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:05.362 [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] 02:12:05.363 [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 [39841] 02:12:05.363 [debug] Current batch of media processed. Will check again in 1000ms 02:12:06.366 [debug] Current batch of media processed. Will check again in 1000ms 02:12:07.366 [debug] Current batch of media processed. Will check again in 1000ms 02:12:08.367 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit bliver 2 endelig til 3 når vi bliver forældre til den fineste lille pige. Vi kommer hjem i god behold, jeg er stadig noget medtaget efter en hård fødsel.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1290, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e061200 - Når 2 bliver til 3 | Livet på gården Ep. 46.mp4", "id" => "-rvS4KsyD-8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-rvS4KsyD-8", "playlist_index" => 44, "timestamp" => 1749736800, "title" => "Når 2 bliver til 3 | Livet på gården Ep. 46", "upload_date" => "20250612"} 02:12:08.368 [debug] QUERY OK source="sources" db=0.2ms idle=1820.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:08.368 [debug] QUERY OK source="sources" db=0.1ms idle=1820.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:08.369 [debug] QUERY OK source="media_items" db=0.3ms idle=1820.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-12 14:00:00Z], 3] 02:12:08.370 [debug] QUERY OK source="media_items" db=0.7ms idle=1266.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit bliver 2 endelig til 3 når vi bliver forældre til den fineste lille pige. Vi kommer hjem i god behold, jeg er stadig noget medtaget efter en hård fødsel.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Når 2 bliver til 3 | Livet på gården Ep. 46", "ca6cb193-f5fc-4f97-b3bc-abda94dcd8d1", 3, [], 1290, false, "-rvS4KsyD-8", "https://www.youtube.com/watch?v=-rvS4KsyD-8", 44, "/downloads/shows/Livet på gården/Season 2025/s2025e061200 - Når 2 bliver til 3 | Livet på gården Ep. 46.mp4", false, false, false, 1, ~U[2025-06-12 14:00:00Z], ~U[2026-04-16 00:12:08Z], ~U[2026-04-16 00:12:08Z], "I dette afsnit bliver 2 endelig til 3 når vi bliver forældre til den fineste lille pige. Vi kommer hjem i god behold, jeg er stadig noget medtaget efter en hård fødsel.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Når 2 bliver til 3 | Livet på gården Ep. 46", 3, 1290, false, "-rvS4KsyD-8", "https://www.youtube.com/watch?v=-rvS4KsyD-8", "/downloads/shows/Livet på gården/Season 2025/s2025e061200 - Når 2 bliver til 3 | Livet på gården Ep. 46.mp4", false, ~U[2025-06-12 14:00:00Z]] 02:12:08.370 [debug] QUERY OK source="sources" db=0.2ms idle=266.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:08.371 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:12:08.371 [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 [42004] 02:12:08.371 [debug] Current batch of media processed. Will check again in 1000ms 02:12:09.372 [debug] Current batch of media processed. Will check again in 1000ms 02:12:10.373 [debug] Current batch of media processed. Will check again in 1000ms 02:12:11.374 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er vi for alvor faldet på plads derhjemme igen efter en hård omgang og tilvænning efter fødslen. Vi er begge 2 på barsel og nyder det - nogle mere end andre. Som altid har Mikkel gang i alt muligt og kan ikke sidde stille. Hønsene skrukker og køkkenhaven er kaos - så alt er som det plejer på denne tid af året. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1248, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e061900 - Barselsbobbel og køkkenhave | Livet på gården Ep. 47.mp4", "id" => "L8u8ZcjpR6A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=L8u8ZcjpR6A", "playlist_index" => 45, "timestamp" => 1750341628, "title" => "Barselsbobbel og køkkenhave | Livet på gården Ep. 47", "upload_date" => "20250619"} 02:12:11.375 [debug] QUERY OK source="sources" db=0.2ms idle=1827.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:11.375 [debug] QUERY OK source="sources" db=0.3ms idle=1828.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:11.376 [debug] QUERY OK source="media_items" db=0.4ms idle=1828.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-19 14:00:28Z], 3] 02:12:11.378 [debug] QUERY OK source="media_items" db=1.1ms idle=1268.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi for alvor faldet på plads derhjemme igen efter en hård omgang og tilvænning efter fødslen. Vi er begge 2 på barsel og nyder det - nogle mere end andre. Som altid har Mikkel gang i alt muligt og kan ikke sidde stille. Hønsene skrukker og køkkenhaven er kaos - så alt er som det plejer på denne tid af året. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Barselsbobbel og køkkenhave | Livet på gården Ep. 47", "20cd673c-a2fe-492f-9eb9-af4cf7979115", 3, [], 1248, false, "L8u8ZcjpR6A", "https://www.youtube.com/watch?v=L8u8ZcjpR6A", 45, "/downloads/shows/Livet på gården/Season 2025/s2025e061900 - Barselsbobbel og køkkenhave | Livet på gården Ep. 47.mp4", false, false, false, 1, ~U[2025-06-19 14:00:28Z], ~U[2026-04-16 00:12:11Z], ~U[2026-04-16 00:12:11Z], "I dette afsnit er vi for alvor faldet på plads derhjemme igen efter en hård omgang og tilvænning efter fødslen. Vi er begge 2 på barsel og nyder det - nogle mere end andre. Som altid har Mikkel gang i alt muligt og kan ikke sidde stille. Hønsene skrukker og køkkenhaven er kaos - så alt er som det plejer på denne tid af året. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Barselsbobbel og køkkenhave | Livet på gården Ep. 47", 3, 1248, false, "L8u8ZcjpR6A", "https://www.youtube.com/watch?v=L8u8ZcjpR6A", "/downloads/shows/Livet på gården/Season 2025/s2025e061900 - Barselsbobbel og køkkenhave | Livet på gården Ep. 47.mp4", false, ~U[2025-06-19 14:00:28Z]] 02:12:11.379 [debug] QUERY OK source="sources" db=0.4ms idle=269.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:11.379 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:12:11.380 [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 [44155] 02:12:11.380 [debug] Current batch of media processed. Will check again in 1000ms 02:12:12.381 [debug] Current batch of media processed. Will check again in 1000ms 02:12:13.382 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for Segway Navimow | I dette afsnit er vi kommet i haven, fordi vi har fået intet mindre end en enormt fancy robotplæneklipper - og selvom Mikkel er meget glad for sin havetraktor, så er han altså ikke til at styre. \n\nLæs mere om plæneklipperen her: http://bit.ly/4lwNXrf\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 885, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e062600 - Ny plæneklipper og en glad mand | Livet på gården Ep. 48.mp4", "id" => "W_VQNTe2uV0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=W_VQNTe2uV0", "playlist_index" => 46, "timestamp" => 1750946446, "title" => "Ny plæneklipper og en glad mand | Livet på gården Ep. 48", "upload_date" => "20250626"} 02:12:13.383 [debug] QUERY OK source="sources" db=0.3ms idle=835.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:13.383 [debug] QUERY OK source="sources" db=0.2ms idle=836.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:13.384 [debug] QUERY OK source="media_items" db=0.5ms idle=836.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-26 14:00:46Z], 3] 02:12:13.386 [debug] QUERY OK source="media_items" db=1.0ms idle=837.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for Segway Navimow | I dette afsnit er vi kommet i haven, fordi vi har fået intet mindre end en enormt fancy robotplæneklipper - og selvom Mikkel er meget glad for sin havetraktor, så er han altså ikke til at styre. \n\nLæs mere om plæneklipperen her: http://bit.ly/4lwNXrf\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny plæneklipper og en glad mand | Livet på gården Ep. 48", "477309a7-4e83-4933-abd4-cd3304e068cb", 3, [], 885, false, "W_VQNTe2uV0", "https://www.youtube.com/watch?v=W_VQNTe2uV0", 46, "/downloads/shows/Livet på gården/Season 2025/s2025e062600 - Ny plæneklipper og en glad mand | Livet på gården Ep. 48.mp4", false, false, false, 1, ~U[2025-06-26 14:00:46Z], ~U[2026-04-16 00:12:13Z], ~U[2026-04-16 00:12:13Z], "Denne video indeholder reklame for Segway Navimow | I dette afsnit er vi kommet i haven, fordi vi har fået intet mindre end en enormt fancy robotplæneklipper - og selvom Mikkel er meget glad for sin havetraktor, så er han altså ikke til at styre. \n\nLæs mere om plæneklipperen her: http://bit.ly/4lwNXrf\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny plæneklipper og en glad mand | Livet på gården Ep. 48", 3, 885, false, "W_VQNTe2uV0", "https://www.youtube.com/watch?v=W_VQNTe2uV0", "/downloads/shows/Livet på gården/Season 2025/s2025e062600 - Ny plæneklipper og en glad mand | Livet på gården Ep. 48.mp4", false, ~U[2025-06-26 14:00:46Z]] 02:12:13.387 [debug] QUERY OK source="sources" db=0.4ms idle=274.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:13.387 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 02:12:13.388 [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 [46349] 02:12:13.388 [debug] Current batch of media processed. Will check again in 1000ms 02:12:14.389 [debug] Current batch of media processed. Will check again in 1000ms 02:12:15.390 [debug] Current batch of media processed. Will check again in 1000ms 02:12:16.391 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er det endelig blevet maj og tid til at sætte tomater i drivhuset. I år er de købt, men de får samme start som mine tomater altid gør. Jeg kommer med mine bedste tips og tricks. Og så tager vi en snak om byggeriet og alle vores sommer planer. Mikkel får travlt, som altid. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1455, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e070300 - Tomater og byggemøde | Livet på gården Ep. 49.mp4", "id" => "LOW7BsM3muw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LOW7BsM3muw", "playlist_index" => 47, "timestamp" => 1751551238, "title" => "Tomater og byggemøde | Livet på gården Ep. 49", "upload_date" => "20250703"} 02:12:16.392 [debug] QUERY OK source="sources" db=0.2ms idle=1844.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:16.392 [debug] QUERY OK source="sources" db=0.1ms idle=1844.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:16.393 [debug] QUERY OK source="media_items" db=0.3ms idle=1845.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-03 14:00:38Z], 3] 02:12:16.394 [debug] QUERY OK source="media_items" db=0.8ms idle=1277.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er det endelig blevet maj og tid til at sætte tomater i drivhuset. I år er de købt, men de får samme start som mine tomater altid gør. Jeg kommer med mine bedste tips og tricks. Og så tager vi en snak om byggeriet og alle vores sommer planer. Mikkel får travlt, som altid. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tomater og byggemøde | Livet på gården Ep. 49", "55f3f8a3-45b7-4ec7-b6d7-f3da0674d211", 3, [], 1455, false, "LOW7BsM3muw", "https://www.youtube.com/watch?v=LOW7BsM3muw", 47, "/downloads/shows/Livet på gården/Season 2025/s2025e070300 - Tomater og byggemøde | Livet på gården Ep. 49.mp4", false, false, false, 1, ~U[2025-07-03 14:00:38Z], ~U[2026-04-16 00:12:16Z], ~U[2026-04-16 00:12:16Z], "I dette afsnit er det endelig blevet maj og tid til at sætte tomater i drivhuset. I år er de købt, men de får samme start som mine tomater altid gør. Jeg kommer med mine bedste tips og tricks. Og så tager vi en snak om byggeriet og alle vores sommer planer. Mikkel får travlt, som altid. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tomater og byggemøde | Livet på gården Ep. 49", 3, 1455, false, "LOW7BsM3muw", "https://www.youtube.com/watch?v=LOW7BsM3muw", "/downloads/shows/Livet på gården/Season 2025/s2025e070300 - Tomater og byggemøde | Livet på gården Ep. 49.mp4", false, ~U[2025-07-03 14:00:38Z]] 02:12:16.395 [debug] QUERY OK source="sources" db=0.1ms idle=277.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:16.395 [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] 02:12:16.396 [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 [48526] 02:12:16.396 [debug] Current batch of media processed. Will check again in 1000ms 02:12:17.396 [debug] Current batch of media processed. Will check again in 1000ms 02:12:18.397 [debug] Current batch of media processed. Will check again in 1000ms 02:12:19.398 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit har jeg tømt keramikovnen for første gang længe, jeg er i haven for første gang længe og er så småt ved at komme tilbage til mit før. Men fødslen har sat sine spor og det tager jeg en snak om i dette afsnit. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1048, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e071000 - Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50.mp4", "id" => "eRwqESemLz0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eRwqESemLz0", "playlist_index" => 48, "timestamp" => 1752156067, "title" => "Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50", "upload_date" => "20250710"} 02:12:19.399 [debug] QUERY OK source="sources" db=0.2ms idle=1851.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:19.399 [debug] QUERY OK source="sources" db=0.2ms idle=1852.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:19.400 [debug] QUERY OK source="media_items" db=0.3ms idle=1852.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-10 14:01:07Z], 3] 02:12:19.402 [debug] QUERY OK source="media_items" db=0.8ms idle=1280.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har jeg tømt keramikovnen for første gang længe, jeg er i haven for første gang længe og er så småt ved at komme tilbage til mit før. Men fødslen har sat sine spor og det tager jeg en snak om i dette afsnit. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50", "335fa682-55fa-4c3a-ad9e-5f40bef3c172", 3, [], 1048, false, "eRwqESemLz0", "https://www.youtube.com/watch?v=eRwqESemLz0", 48, "/downloads/shows/Livet på gården/Season 2025/s2025e071000 - Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50.mp4", false, false, false, 1, ~U[2025-07-10 14:01:07Z], ~U[2026-04-16 00:12:19Z], ~U[2026-04-16 00:12:19Z], "I dette afsnit har jeg tømt keramikovnen for første gang længe, jeg er i haven for første gang længe og er så småt ved at komme tilbage til mit før. Men fødslen har sat sine spor og det tager jeg en snak om i dette afsnit. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50", 3, 1048, false, "eRwqESemLz0", "https://www.youtube.com/watch?v=eRwqESemLz0", "/downloads/shows/Livet på gården/Season 2025/s2025e071000 - Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50.mp4", false, ~U[2025-07-10 14:01:07Z]] 02:12:19.402 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=281.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:19.403 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:12:19.404 [debug] QUERY OK source="media_items" db=0.4ms 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 [50818] 02:12:19.404 [debug] Current batch of media processed. Will check again in 1000ms 02:12:20.405 [debug] Current batch of media processed. Will check again in 1000ms 02:12:21.406 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit sker der en hulens masse sjove sager. Mikkel er i fuld gang med at lave vejen om og bygge det nye hegn. Vores datter er med i haven i bæreselen og jeg høster rabarberen. Og så er der dømt nyt udstyr og et haul af alt det gejl vi har fået hjem!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1223, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e071700 - Vores datter er med i haven | Livet på gården Ep. 51.mp4", "id" => "N_QTztIN_uE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=N_QTztIN_uE", "playlist_index" => 49, "timestamp" => 1752760837, "title" => "Vores datter er med i haven | Livet på gården Ep. 51", "upload_date" => "20250717"} 02:12:21.407 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=859.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:21.408 [debug] QUERY OK source="sources" db=0.3ms idle=860.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:21.408 [debug] QUERY OK source="media_items" db=0.4ms idle=860.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-17 14:00:37Z], 3] 02:12:21.410 [debug] QUERY OK source="media_items" db=0.9ms idle=861.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit sker der en hulens masse sjove sager. Mikkel er i fuld gang med at lave vejen om og bygge det nye hegn. Vores datter er med i haven i bæreselen og jeg høster rabarberen. Og så er der dømt nyt udstyr og et haul af alt det gejl vi har fået hjem!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores datter er med i haven | Livet på gården Ep. 51", "43561b62-5ba3-4b31-b57e-88e9bdde1119", 3, [], 1223, false, "N_QTztIN_uE", "https://www.youtube.com/watch?v=N_QTztIN_uE", 49, "/downloads/shows/Livet på gården/Season 2025/s2025e071700 - Vores datter er med i haven | Livet på gården Ep. 51.mp4", false, false, false, 1, ~U[2025-07-17 14:00:37Z], ~U[2026-04-16 00:12:21Z], ~U[2026-04-16 00:12:21Z], "I dette afsnit sker der en hulens masse sjove sager. Mikkel er i fuld gang med at lave vejen om og bygge det nye hegn. Vores datter er med i haven i bæreselen og jeg høster rabarberen. Og så er der dømt nyt udstyr og et haul af alt det gejl vi har fået hjem!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores datter er med i haven | Livet på gården Ep. 51", 3, 1223, false, "N_QTztIN_uE", "https://www.youtube.com/watch?v=N_QTztIN_uE", "/downloads/shows/Livet på gården/Season 2025/s2025e071700 - Vores datter er med i haven | Livet på gården Ep. 51.mp4", false, ~U[2025-07-17 14:00:37Z]] 02:12:21.410 [debug] QUERY OK source="sources" db=0.2ms idle=286.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:21.411 [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] 02:12:21.412 [debug] QUERY OK source="media_items" db=0.4ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [53152] 02:12:21.412 [debug] Current batch of media processed. Will check again in 1000ms 02:12:22.413 [debug] Current batch of media processed. Will check again in 1000ms 02:12:23.414 [debug] Current batch of media processed. Will check again in 1000ms 02:12:24.415 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video har vi en baby som er udfordret af tigerspring og dermed en træt mor. Mikkel knokler løs på taget fra morgen til aften og så sætter han lidt ord på hvad det er han har lavet, denne gang med en mikrofon - så man bedre kan høre ham, haha!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1213, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e081400 - Nyt tag på 3 dage | Livet på gården Ep. 52.mp4", "id" => "8KBS6AxLEhs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8KBS6AxLEhs", "playlist_index" => 50, "timestamp" => 1755180017, "title" => "Nyt tag på 3 dage | Livet på gården Ep. 52", "upload_date" => "20250814"} 02:12:24.416 [debug] QUERY OK source="sources" db=0.2ms idle=1867.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:24.416 [debug] QUERY OK source="sources" db=0.1ms idle=1867.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:24.417 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1868.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 14:00:17Z], 3] 02:12:24.418 [debug] QUERY OK source="media_items" db=0.8ms idle=1291.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har vi en baby som er udfordret af tigerspring og dermed en træt mor. Mikkel knokler løs på taget fra morgen til aften og så sætter han lidt ord på hvad det er han har lavet, denne gang med en mikrofon - så man bedre kan høre ham, haha!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nyt tag på 3 dage | Livet på gården Ep. 52", "a3b5f871-bff1-4d48-9702-02dc930b8431", 3, [], 1213, false, "8KBS6AxLEhs", "https://www.youtube.com/watch?v=8KBS6AxLEhs", 50, "/downloads/shows/Livet på gården/Season 2025/s2025e081400 - Nyt tag på 3 dage | Livet på gården Ep. 52.mp4", false, false, false, 1, ~U[2025-08-14 14:00:17Z], ~U[2026-04-16 00:12:24Z], ~U[2026-04-16 00:12:24Z], "I denne video har vi en baby som er udfordret af tigerspring og dermed en træt mor. Mikkel knokler løs på taget fra morgen til aften og så sætter han lidt ord på hvad det er han har lavet, denne gang med en mikrofon - så man bedre kan høre ham, haha!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nyt tag på 3 dage | Livet på gården Ep. 52", 3, 1213, false, "8KBS6AxLEhs", "https://www.youtube.com/watch?v=8KBS6AxLEhs", "/downloads/shows/Livet på gården/Season 2025/s2025e081400 - Nyt tag på 3 dage | Livet på gården Ep. 52.mp4", false, ~U[2025-08-14 14:00:17Z]] 02:12:24.419 [debug] QUERY OK source="sources" db=0.2ms idle=290.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:24.420 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:12:24.420 [debug] QUERY OK source="media_items" db=0.6ms 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 [62172] 02:12:24.421 [debug] Current batch of media processed. Will check again in 1000ms 02:12:25.421 [debug] Current batch of media processed. Will check again in 1000ms 02:12:26.422 [debug] Current batch of media processed. Will check again in 1000ms 02:12:27.423 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit har Mikkel gang i bekæmpelsen af ukrudt, mens jeg giver mig i kast med loppehelvede i hønsehuset, som er INVARDERET! Det får den helt store tur og så er det bare at håbe at det er nok, for ellers skal jeg have anskaffet mig exholt og det er en dyr affære.. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1195, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e082100 - Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53.mp4", "id" => "xTCNmkJl7cs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xTCNmkJl7cs", "playlist_index" => 51, "timestamp" => 1755784885, "title" => "Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53", "upload_date" => "20250821"} 02:12:27.424 [debug] QUERY OK source="sources" db=0.4ms idle=1873.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:27.425 [debug] QUERY OK source="sources" db=0.4ms idle=1874.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:27.426 [debug] QUERY OK source="media_items" db=0.6ms queue=0.5ms idle=1875.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-21 14:01:25Z], 3] 02:12:27.428 [debug] QUERY OK source="media_items" db=1.5ms idle=1296.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har Mikkel gang i bekæmpelsen af ukrudt, mens jeg giver mig i kast med loppehelvede i hønsehuset, som er INVARDERET! Det får den helt store tur og så er det bare at håbe at det er nok, for ellers skal jeg have anskaffet mig exholt og det er en dyr affære.. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53", "d7b5cdac-c041-42cb-be55-dcbd29a1e0ae", 3, [], 1195, false, "xTCNmkJl7cs", "https://www.youtube.com/watch?v=xTCNmkJl7cs", 51, "/downloads/shows/Livet på gården/Season 2025/s2025e082100 - Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53.mp4", false, false, false, 1, ~U[2025-08-21 14:01:25Z], ~U[2026-04-16 00:12:27Z], ~U[2026-04-16 00:12:27Z], "I dette afsnit har Mikkel gang i bekæmpelsen af ukrudt, mens jeg giver mig i kast med loppehelvede i hønsehuset, som er INVARDERET! Det får den helt store tur og så er det bare at håbe at det er nok, for ellers skal jeg have anskaffet mig exholt og det er en dyr affære.. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53", 3, 1195, false, "xTCNmkJl7cs", "https://www.youtube.com/watch?v=xTCNmkJl7cs", "/downloads/shows/Livet på gården/Season 2025/s2025e082100 - Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53.mp4", false, ~U[2025-08-21 14:01:25Z]] 02:12:27.429 [debug] QUERY OK source="sources" db=0.5ms idle=297.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:27.430 [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] 02:12:27.431 [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 [63986] 02:12:27.431 [debug] Current batch of media processed. Will check again in 1000ms 02:12:27.852 [info] {"source":"oban","duration":1359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:28.432 [debug] Current batch of media processed. Will check again in 1000ms 02:12:29.433 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mikkel arbejder videre på taget og så tager vi en status på hønsehuset efter udrensning. Hønsene skrukker på stribe og der er semi krise over det. Malene kommer på besøg og får den store tour af køkkenhaven, vi laver mad sammen og tager en snak om hvorfor hun ikke længere arbejder hos mig.. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1652, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e082800 - Besøg af Malene og høns der skrukker | Livet på gården Ep. 54.mp4", "id" => "U_w3PIAVp40", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=U_w3PIAVp40", "playlist_index" => 52, "timestamp" => 1756389646, "title" => "Besøg af Malene og høns der skrukker | Livet på gården Ep. 54", "upload_date" => "20250828"} 02:12:29.434 [debug] QUERY OK source="sources" db=0.2ms idle=1301.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:29.434 [debug] QUERY OK source="sources" db=0.2ms idle=885.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:29.435 [debug] QUERY OK source="media_items" db=0.4ms idle=885.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-28 14:00:46Z], 3] 02:12:29.438 [debug] QUERY OK source="media_items" db=2.1ms idle=886.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mikkel arbejder videre på taget og så tager vi en status på hønsehuset efter udrensning. Hønsene skrukker på stribe og der er semi krise over det. Malene kommer på besøg og får den store tour af køkkenhaven, vi laver mad sammen og tager en snak om hvorfor hun ikke længere arbejder hos mig.. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg af Malene og høns der skrukker | Livet på gården Ep. 54", "f13efde3-0d71-46c1-9dd5-05ce6af3dfae", 3, [], 1652, false, "U_w3PIAVp40", "https://www.youtube.com/watch?v=U_w3PIAVp40", 52, "/downloads/shows/Livet på gården/Season 2025/s2025e082800 - Besøg af Malene og høns der skrukker | Livet på gården Ep. 54.mp4", false, false, false, 1, ~U[2025-08-28 14:00:46Z], ~U[2026-04-16 00:12:29Z], ~U[2026-04-16 00:12:29Z], "Mikkel arbejder videre på taget og så tager vi en status på hønsehuset efter udrensning. Hønsene skrukker på stribe og der er semi krise over det. Malene kommer på besøg og får den store tour af køkkenhaven, vi laver mad sammen og tager en snak om hvorfor hun ikke længere arbejder hos mig.. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg af Malene og høns der skrukker | Livet på gården Ep. 54", 3, 1652, false, "U_w3PIAVp40", "https://www.youtube.com/watch?v=U_w3PIAVp40", "/downloads/shows/Livet på gården/Season 2025/s2025e082800 - Besøg af Malene og høns der skrukker | Livet på gården Ep. 54.mp4", false, ~U[2025-08-28 14:00:46Z]] 02:12:29.438 [debug] QUERY OK source="sources" db=0.1ms idle=304.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:29.439 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:12:29.439 [debug] QUERY OK source="media_items" db=0.3ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [66408] 02:12:29.439 [debug] Current batch of media processed. Will check again in 1000ms 02:12:30.440 [debug] Current batch of media processed. Will check again in 1000ms 02:12:31.441 [debug] Current batch of media processed. Will check again in 1000ms 02:12:32.442 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh. \n\nDu kan få 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder.\nRabatkode: B2SKRISTINE\nLink: www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1265, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e080700 - Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52.mp4", "id" => "oJHte_vjoV4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oJHte_vjoV4", "playlist_index" => 53, "timestamp" => 1754575283, "title" => "Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52", "upload_date" => "20250807"} 02:12:32.443 [debug] QUERY OK source="sources" db=0.3ms idle=1893.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:32.443 [debug] QUERY OK source="sources" db=0.2ms idle=1894.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:32.444 [debug] QUERY OK source="media_items" db=0.3ms idle=1894.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-07 14:01:23Z], 3] 02:12:32.446 [debug] QUERY OK source="media_items" db=0.8ms idle=1307.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nDu kan få 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder.\nRabatkode: B2SKRISTINE\nLink: www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52", "3a3316cf-60f5-4077-9cb5-ebf9117d05e4", 3, [], 1265, false, "oJHte_vjoV4", "https://www.youtube.com/watch?v=oJHte_vjoV4", 53, "/downloads/shows/Livet på gården/Season 2025/s2025e080700 - Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52.mp4", false, false, false, 1, ~U[2025-08-07 14:01:23Z], ~U[2026-04-16 00:12:32Z], ~U[2026-04-16 00:12:32Z], "Denne video indeholder reklame for HelloFresh. \n\nDu kan få 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder.\nRabatkode: B2SKRISTINE\nLink: www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52", 3, 1265, false, "oJHte_vjoV4", "https://www.youtube.com/watch?v=oJHte_vjoV4", "/downloads/shows/Livet på gården/Season 2025/s2025e080700 - Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52.mp4", false, ~U[2025-08-07 14:01:23Z]] 02:12:32.446 [debug] QUERY OK source="sources" db=0.2ms idle=307.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:32.446 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:12:32.447 [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 [59883] 02:12:32.447 [debug] Current batch of media processed. Will check again in 1000ms 02:12:33.448 [debug] Current batch of media processed. Will check again in 1000ms 02:12:34.449 [debug] Current batch of media processed. Will check again in 1000ms 02:12:35.450 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit kommer i for første gang med op på overetagen og ser med når Mikkel bygger den anden kvist - det er også første gang jeg er deroppe, og jeg er mildest talt oppe at ringe over hvor fedt det bliver. Felix er på besøg og med i værkstedet og så har vi taget store beslutninger om fremtiden på gården. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1396, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e090400 - Felix laver keramik og vores store beslutning | Livet på gården Ep. 55.mp4", "id" => "gbe1EwOyOKY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gbe1EwOyOKY", "playlist_index" => 54, "timestamp" => 1756994468, "title" => "Felix laver keramik og vores store beslutning | Livet på gården Ep. 55", "upload_date" => "20250904"} 02:12:35.451 [debug] QUERY OK source="sources" db=0.3ms idle=1901.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:35.452 [debug] QUERY OK source="sources" db=0.3ms queue=0.4ms idle=1902.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:35.454 [debug] QUERY OK source="media_items" db=1.5ms idle=1903.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-04 14:01:08Z], 3] 02:12:35.456 [debug] QUERY OK source="media_items" db=1.1ms idle=1313.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i for første gang med op på overetagen og ser med når Mikkel bygger den anden kvist - det er også første gang jeg er deroppe, og jeg er mildest talt oppe at ringe over hvor fedt det bliver. Felix er på besøg og med i værkstedet og så har vi taget store beslutninger om fremtiden på gården. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix laver keramik og vores store beslutning | Livet på gården Ep. 55", "d3a7332c-7fdb-4e9e-a1ca-89edc3d47a8a", 3, [], 1396, false, "gbe1EwOyOKY", "https://www.youtube.com/watch?v=gbe1EwOyOKY", 54, "/downloads/shows/Livet på gården/Season 2025/s2025e090400 - Felix laver keramik og vores store beslutning | Livet på gården Ep. 55.mp4", false, false, false, 1, ~U[2025-09-04 14:01:08Z], ~U[2026-04-16 00:12:35Z], ~U[2026-04-16 00:12:35Z], "I dette afsnit kommer i for første gang med op på overetagen og ser med når Mikkel bygger den anden kvist - det er også første gang jeg er deroppe, og jeg er mildest talt oppe at ringe over hvor fedt det bliver. Felix er på besøg og med i værkstedet og så har vi taget store beslutninger om fremtiden på gården. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix laver keramik og vores store beslutning | Livet på gården Ep. 55", 3, 1396, false, "gbe1EwOyOKY", "https://www.youtube.com/watch?v=gbe1EwOyOKY", "/downloads/shows/Livet på gården/Season 2025/s2025e090400 - Felix laver keramik og vores store beslutning | Livet på gården Ep. 55.mp4", false, ~U[2025-09-04 14:01:08Z]] 02:12:35.456 [debug] QUERY OK source="sources" db=0.1ms idle=314.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:35.457 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.2ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:12:35.457 [debug] QUERY OK source="media_items" db=0.4ms 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 [68913] 02:12:35.458 [debug] Current batch of media processed. Will check again in 1000ms 02:12:36.458 [debug] Current batch of media processed. Will check again in 1000ms 02:12:37.459 [debug] Current batch of media processed. Will check again in 1000ms 02:12:38.460 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1421, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e091100 - Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56.mp4", "id" => "aPr93nvV6Sc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aPr93nvV6Sc", "playlist_index" => 55, "timestamp" => 1757599202, "title" => "Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56", "upload_date" => "20250911"} 02:12:38.461 [debug] QUERY OK source="sources" db=0.4ms idle=1911.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:38.462 [debug] QUERY OK source="sources" db=0.1ms idle=1912.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:38.462 [debug] QUERY OK source="media_items" db=0.4ms idle=1912.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-11 14:00:02Z], 3] 02:12:38.464 [debug] QUERY OK source="media_items" db=0.8ms idle=1316.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56", "0fe23e6d-bcbe-48c4-8e74-bc3275cfc27a", 3, [], 1421, false, "aPr93nvV6Sc", "https://www.youtube.com/watch?v=aPr93nvV6Sc", 55, "/downloads/shows/Livet på gården/Season 2025/s2025e091100 - Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56.mp4", false, false, false, 1, ~U[2025-09-11 14:00:02Z], ~U[2026-04-16 00:12:38Z], ~U[2026-04-16 00:12:38Z], "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56", 3, 1421, false, "aPr93nvV6Sc", "https://www.youtube.com/watch?v=aPr93nvV6Sc", "/downloads/shows/Livet på gården/Season 2025/s2025e091100 - Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56.mp4", false, ~U[2025-09-11 14:00:02Z]] 02:12:38.464 [debug] QUERY OK source="sources" db=0.2ms idle=316.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:38.464 [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] 02:12:38.465 [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 [71436] 02:12:38.465 [debug] Current batch of media processed. Will check again in 1000ms 02:12:39.466 [debug] Current batch of media processed. Will check again in 1000ms 02:12:40.467 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1020, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e091800 - Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57.mp4", "id" => "lLuYcnLpHk8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lLuYcnLpHk8", "playlist_index" => 56, "timestamp" => 1758204394, "title" => "Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57", "upload_date" => "20250918"} 02:12:40.470 [debug] QUERY OK source="sources" db=2.6ms queue=0.1ms idle=918.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:40.483 [debug] QUERY OK source="sources" db=2.9ms queue=9.0ms idle=921.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:40.497 [debug] QUERY OK source="media_items" db=13.6ms queue=0.1ms idle=933.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-18 14:06:34Z], 3] 02:12:40.509 [debug] QUERY OK source="media_items" db=11.6ms idle=948.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57", "b3a69e0d-1e4c-41c4-8137-7d2e0e79c31c", 3, [], 1020, false, "lLuYcnLpHk8", "https://www.youtube.com/watch?v=lLuYcnLpHk8", 56, "/downloads/shows/Livet på gården/Season 2025/s2025e091800 - Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57.mp4", false, false, false, 1, ~U[2025-09-18 14:06:34Z], ~U[2026-04-16 00:12:40Z], ~U[2026-04-16 00:12:40Z], "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57", 3, 1020, false, "lLuYcnLpHk8", "https://www.youtube.com/watch?v=lLuYcnLpHk8", "/downloads/shows/Livet på gården/Season 2025/s2025e091800 - Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57.mp4", false, ~U[2025-09-18 14:06:34Z]] 02:12:40.511 [debug] QUERY OK source="sources" db=1.5ms idle=359.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:40.513 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.8ms 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] 02:12:40.515 [debug] QUERY OK source="media_items" db=0.5ms idle=31.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [73945] 02:12:40.515 [debug] Current batch of media processed. Will check again in 1000ms 02:12:41.516 [debug] Current batch of media processed. Will check again in 1000ms 02:12:42.517 [debug] Current batch of media processed. Will check again in 1000ms 02:12:43.518 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\nI dagens afsnit er vi i fuld gang. Jeg giver en status fra keramikken, jeg hjælper til når Mikkel sætter sig for at rive kradt og så forsøger vi os med en timelapse for første gang. Vi giver også en status på hvordan det går i hønsegården efter vi har skåret gevaldigt ned for antallet. Alt sammen i mens vores datter er i tigerspring og meget lidt vil sove.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1485, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e092500 - Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58.mp4", "id" => "rFwrB9Pe4hM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rFwrB9Pe4hM", "playlist_index" => 57, "timestamp" => 1758808893, "title" => "Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58", "upload_date" => "20250925"} 02:12:43.519 [debug] QUERY OK source="sources" db=0.2ms idle=1969.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:43.519 [debug] QUERY OK source="sources" db=0.1ms idle=1969.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:43.520 [debug] QUERY OK source="media_items" db=0.4ms idle=1970.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-25 14:01:33Z], 3] 02:12:43.522 [debug] QUERY OK source="media_items" db=1.1ms idle=1367.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\nI dagens afsnit er vi i fuld gang. Jeg giver en status fra keramikken, jeg hjælper til når Mikkel sætter sig for at rive kradt og så forsøger vi os med en timelapse for første gang. Vi giver også en status på hvordan det går i hønsegården efter vi har skåret gevaldigt ned for antallet. Alt sammen i mens vores datter er i tigerspring og meget lidt vil sove.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58", "be34f19b-04a5-47cb-9bb4-ce74688bf044", 3, [], 1485, false, "rFwrB9Pe4hM", "https://www.youtube.com/watch?v=rFwrB9Pe4hM", 57, "/downloads/shows/Livet på gården/Season 2025/s2025e092500 - Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58.mp4", false, false, false, 1, ~U[2025-09-25 14:01:33Z], ~U[2026-04-16 00:12:43Z], ~U[2026-04-16 00:12:43Z], "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\nI dagens afsnit er vi i fuld gang. Jeg giver en status fra keramikken, jeg hjælper til når Mikkel sætter sig for at rive kradt og så forsøger vi os med en timelapse for første gang. Vi giver også en status på hvordan det går i hønsegården efter vi har skåret gevaldigt ned for antallet. Alt sammen i mens vores datter er i tigerspring og meget lidt vil sove.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58", 3, 1485, false, "rFwrB9Pe4hM", "https://www.youtube.com/watch?v=rFwrB9Pe4hM", "/downloads/shows/Livet på gården/Season 2025/s2025e092500 - Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58.mp4", false, ~U[2025-09-25 14:01:33Z]] 02:12:43.522 [debug] QUERY OK source="sources" db=0.2ms idle=368.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:43.523 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:12:43.523 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76480] 02:12:43.523 [debug] Current batch of media processed. Will check again in 1000ms 02:12:44.524 [debug] Current batch of media processed. Will check again in 1000ms 02:12:45.525 [debug] Current batch of media processed. Will check again in 1000ms 02:12:46.526 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit tager Mikkel mig med i hans store planer om både ny gårdsplads og fliselægning. Han fortsætter det sidste arbejde på kvisten og jeg trækker i arbejdstøjet og hjælper til med både byggeaffald og trimning af haven - samtidig med at vores baby fortsat sover skidt. Grisene flytter hjemmefra og jeg får sagt ordenligt farvel. Det er meget vemodigt, men også for det bedste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1641, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e100200 - Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59.mp4", "id" => "uEP1rtTb-XE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uEP1rtTb-XE", "playlist_index" => 58, "timestamp" => 1759413692, "title" => "Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59", "upload_date" => "20251002"} 02:12:46.527 [debug] QUERY OK source="sources" db=0.3ms idle=1977.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:46.528 [debug] QUERY OK source="sources" db=0.7ms idle=1978.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:46.529 [debug] QUERY OK source="media_items" db=0.4ms idle=1979.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-02 14:01:32Z], 3] 02:12:46.531 [debug] QUERY OK source="media_items" db=1.1ms idle=1372.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager Mikkel mig med i hans store planer om både ny gårdsplads og fliselægning. Han fortsætter det sidste arbejde på kvisten og jeg trækker i arbejdstøjet og hjælper til med både byggeaffald og trimning af haven - samtidig med at vores baby fortsat sover skidt. Grisene flytter hjemmefra og jeg får sagt ordenligt farvel. Det er meget vemodigt, men også for det bedste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59", "227e909d-892e-4fea-9632-27b8f53c79d7", 3, [], 1641, false, "uEP1rtTb-XE", "https://www.youtube.com/watch?v=uEP1rtTb-XE", 58, "/downloads/shows/Livet på gården/Season 2025/s2025e100200 - Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59.mp4", false, false, false, 1, ~U[2025-10-02 14:01:32Z], ~U[2026-04-16 00:12:46Z], ~U[2026-04-16 00:12:46Z], "I dette afsnit tager Mikkel mig med i hans store planer om både ny gårdsplads og fliselægning. Han fortsætter det sidste arbejde på kvisten og jeg trækker i arbejdstøjet og hjælper til med både byggeaffald og trimning af haven - samtidig med at vores baby fortsat sover skidt. Grisene flytter hjemmefra og jeg får sagt ordenligt farvel. Det er meget vemodigt, men også for det bedste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59", 3, 1641, false, "uEP1rtTb-XE", "https://www.youtube.com/watch?v=uEP1rtTb-XE", "/downloads/shows/Livet på gården/Season 2025/s2025e100200 - Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59.mp4", false, ~U[2025-10-02 14:01:32Z]] 02:12:46.531 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=372.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:46.532 [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] 02:12:46.533 [debug] QUERY OK source="media_items" db=0.5ms 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 [79073] 02:12:46.533 [debug] Current batch of media processed. Will check again in 1000ms 02:12:47.534 [debug] Current batch of media processed. Will check again in 1000ms 02:12:48.535 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit kører vi på ferie i en bil der aldrig har været meget fyldt og vi har endda fået ny stor bil. Jeg døjer med hæmorider og så tager vi en klassisk tur rundt med Mikkel der fortæller om alle de ting han synes der skal fikses. Vi starter dog med at rykke et gammelt hønsehus og flytte vores ATV som er gået i stykker. Vi er også en tur i vores kaos af en have, hvor det eneste der fungere er én squash plante, som til gengæld også levere GIGANTISKE squash. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1534, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e100900 - Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60.mp4", "id" => "mCkvhf9YDCk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mCkvhf9YDCk", "playlist_index" => 59, "timestamp" => 1760018475, "title" => "Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60", "upload_date" => "20251009"} 02:12:48.536 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=986.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:48.536 [debug] QUERY OK source="sources" db=0.1ms idle=987.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:48.537 [debug] QUERY OK source="media_items" db=0.3ms idle=987.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-09 14:01:15Z], 3] 02:12:48.538 [debug] QUERY OK source="media_items" db=0.9ms idle=988.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kører vi på ferie i en bil der aldrig har været meget fyldt og vi har endda fået ny stor bil. Jeg døjer med hæmorider og så tager vi en klassisk tur rundt med Mikkel der fortæller om alle de ting han synes der skal fikses. Vi starter dog med at rykke et gammelt hønsehus og flytte vores ATV som er gået i stykker. Vi er også en tur i vores kaos af en have, hvor det eneste der fungere er én squash plante, som til gengæld også levere GIGANTISKE squash. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60", "6d4ecf86-1031-4854-888c-fdb71003dba8", 3, [], 1534, false, "mCkvhf9YDCk", "https://www.youtube.com/watch?v=mCkvhf9YDCk", 59, "/downloads/shows/Livet på gården/Season 2025/s2025e100900 - Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60.mp4", false, false, false, 1, ~U[2025-10-09 14:01:15Z], ~U[2026-04-16 00:12:48Z], ~U[2026-04-16 00:12:48Z], "I dette afsnit kører vi på ferie i en bil der aldrig har været meget fyldt og vi har endda fået ny stor bil. Jeg døjer med hæmorider og så tager vi en klassisk tur rundt med Mikkel der fortæller om alle de ting han synes der skal fikses. Vi starter dog med at rykke et gammelt hønsehus og flytte vores ATV som er gået i stykker. Vi er også en tur i vores kaos af en have, hvor det eneste der fungere er én squash plante, som til gengæld også levere GIGANTISKE squash. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60", 3, 1534, false, "mCkvhf9YDCk", "https://www.youtube.com/watch?v=mCkvhf9YDCk", "/downloads/shows/Livet på gården/Season 2025/s2025e100900 - Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60.mp4", false, ~U[2025-10-09 14:01:15Z]] 02:12:48.539 [debug] QUERY OK source="sources" db=0.1ms idle=377.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:48.539 [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] 02:12:48.540 [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 [81473] 02:12:48.540 [debug] Current batch of media processed. Will check again in 1000ms 02:12:49.542 [debug] Current batch of media processed. Will check again in 1000ms 02:12:50.542 [debug] Current batch of media processed. Will check again in 1000ms 02:12:51.543 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit har vi besøg af min veninde fra København fordi vi er kommet dertil hvor vi skal holde navngivningsfest for vores datter. Vi har slået det store brød op med kæmpe telt i haven og alt harald nyborgs pynt tror jeg nærmest? Derudover har Mikkel besluttet sig for at bygge sit eget gyngestativ til vores nye gynger\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1491, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e101600 - Vi gør klar til navngivningsfest | Livet på gården Ep. 61.mp4", "id" => "KMuFnD8X_To", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KMuFnD8X_To", "playlist_index" => 60, "timestamp" => 1760623235, "title" => "Vi gør klar til navngivningsfest | Livet på gården Ep. 61", "upload_date" => "20251016"} 02:12:51.544 [debug] QUERY OK source="sources" db=0.3ms idle=1993.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:51.544 [debug] QUERY OK source="sources" db=0.1ms idle=1994.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:51.545 [debug] QUERY OK source="media_items" db=0.3ms idle=1994.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-16 14:00:35Z], 3] 02:12:51.546 [debug] QUERY OK source="media_items" db=0.8ms idle=1382.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har vi besøg af min veninde fra København fordi vi er kommet dertil hvor vi skal holde navngivningsfest for vores datter. Vi har slået det store brød op med kæmpe telt i haven og alt harald nyborgs pynt tror jeg nærmest? Derudover har Mikkel besluttet sig for at bygge sit eget gyngestativ til vores nye gynger\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi gør klar til navngivningsfest | Livet på gården Ep. 61", "d84d0170-7cd5-422e-98a8-b7b4bbd43dbe", 3, [], 1491, false, "KMuFnD8X_To", "https://www.youtube.com/watch?v=KMuFnD8X_To", 60, "/downloads/shows/Livet på gården/Season 2025/s2025e101600 - Vi gør klar til navngivningsfest | Livet på gården Ep. 61.mp4", false, false, false, 1, ~U[2025-10-16 14:00:35Z], ~U[2026-04-16 00:12:51Z], ~U[2026-04-16 00:12:51Z], "I dette afsnit har vi besøg af min veninde fra København fordi vi er kommet dertil hvor vi skal holde navngivningsfest for vores datter. Vi har slået det store brød op med kæmpe telt i haven og alt harald nyborgs pynt tror jeg nærmest? Derudover har Mikkel besluttet sig for at bygge sit eget gyngestativ til vores nye gynger\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi gør klar til navngivningsfest | Livet på gården Ep. 61", 3, 1491, false, "KMuFnD8X_To", "https://www.youtube.com/watch?v=KMuFnD8X_To", "/downloads/shows/Livet på gården/Season 2025/s2025e101600 - Vi gør klar til navngivningsfest | Livet på gården Ep. 61.mp4", false, ~U[2025-10-16 14:00:35Z]] 02:12:51.547 [debug] QUERY OK source="sources" db=0.2ms idle=382.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:51.547 [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] 02:12:51.548 [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 [84158] 02:12:51.548 [debug] Current batch of media processed. Will check again in 1000ms 02:12:52.549 [debug] Current batch of media processed. Will check again in 1000ms 02:12:53.550 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode fortsætter vi byggeriet af gyngestativet som skal stå i bunden af haven. Mikkel tegner og fortæller hvordan han laver det og jeg er på en måde blevet praktikant. Jeg er samtidig ved at forberede mig på keramiksalg den forestående weekend og det er lidt mere spændende end normalt fordi jeg denne gang fikser alt selv, eftersom Malene ikke længere er hos mig.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1384, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e102300 - Vi bygger et gyngestativ | Livet på gården Ep. 62.mp4", "id" => "aSbYAroNsjw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aSbYAroNsjw", "playlist_index" => 61, "timestamp" => 1761228002, "title" => "Vi bygger et gyngestativ | Livet på gården Ep. 62", "upload_date" => "20251023"} 02:12:53.551 [debug] QUERY OK source="sources" db=0.3ms idle=1001.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:53.551 [debug] QUERY OK source="sources" db=0.2ms idle=1002.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:53.552 [debug] QUERY OK source="media_items" db=0.3ms idle=1002.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 14:00:02Z], 3] 02:12:53.553 [debug] QUERY OK source="media_items" db=0.8ms idle=1003.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode fortsætter vi byggeriet af gyngestativet som skal stå i bunden af haven. Mikkel tegner og fortæller hvordan han laver det og jeg er på en måde blevet praktikant. Jeg er samtidig ved at forberede mig på keramiksalg den forestående weekend og det er lidt mere spændende end normalt fordi jeg denne gang fikser alt selv, eftersom Malene ikke længere er hos mig.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi bygger et gyngestativ | Livet på gården Ep. 62", "249ec6fc-2752-4ba8-ab82-22a6e40ff901", 3, [], 1384, false, "aSbYAroNsjw", "https://www.youtube.com/watch?v=aSbYAroNsjw", 61, "/downloads/shows/Livet på gården/Season 2025/s2025e102300 - Vi bygger et gyngestativ | Livet på gården Ep. 62.mp4", false, false, false, 1, ~U[2025-10-23 14:00:02Z], ~U[2026-04-16 00:12:53Z], ~U[2026-04-16 00:12:53Z], "I denne episode fortsætter vi byggeriet af gyngestativet som skal stå i bunden af haven. Mikkel tegner og fortæller hvordan han laver det og jeg er på en måde blevet praktikant. Jeg er samtidig ved at forberede mig på keramiksalg den forestående weekend og det er lidt mere spændende end normalt fordi jeg denne gang fikser alt selv, eftersom Malene ikke længere er hos mig.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi bygger et gyngestativ | Livet på gården Ep. 62", 3, 1384, false, "aSbYAroNsjw", "https://www.youtube.com/watch?v=aSbYAroNsjw", "/downloads/shows/Livet på gården/Season 2025/s2025e102300 - Vi bygger et gyngestativ | Livet på gården Ep. 62.mp4", false, ~U[2025-10-23 14:00:02Z]] 02:12:53.554 [debug] QUERY OK source="sources" db=0.2ms idle=383.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:53.554 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:12:53.555 [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 [86840] 02:12:53.555 [debug] Current batch of media processed. Will check again in 1000ms 02:12:54.556 [debug] Current batch of media processed. Will check again in 1000ms 02:12:55.557 [debug] Current batch of media processed. Will check again in 1000ms 02:12:56.558 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode 959KRISTINES eller få rabatten via linket her: http://www.hellofresh.dk/959KRISTINES\n\nI denne episode sætter vi langt om længe keramik til salg igen, og det er udsolgt på meget få minutter. Vi er på røven over det må jeg bare sige. Mikkel bygger og vi får besøg af min familie der hjælper til hvor der er brug for det. Julle overtager kameraet mens hun maler og jeg er ved lægen med vores datter. Min far underholder som altid med alle de vanvittige ting han siger og min mor er gået i krig med vasketøjet \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1386, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e103000 - Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63.mp4", "id" => "_c08N8LDjq4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_c08N8LDjq4", "playlist_index" => 62, "timestamp" => 1761832855, "title" => "Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63", "upload_date" => "20251030"} 02:12:56.559 [debug] QUERY OK source="sources" db=0.2ms idle=1009.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:56.559 [debug] QUERY OK source="sources" db=0.1ms idle=1010.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:56.560 [debug] QUERY OK source="media_items" db=0.3ms idle=1010.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 14:00:55Z], 3] 02:12:56.561 [debug] QUERY OK source="media_items" db=1.0ms idle=1011.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode 959KRISTINES eller få rabatten via linket her: http://www.hellofresh.dk/959KRISTINES\n\nI denne episode sætter vi langt om længe keramik til salg igen, og det er udsolgt på meget få minutter. Vi er på røven over det må jeg bare sige. Mikkel bygger og vi får besøg af min familie der hjælper til hvor der er brug for det. Julle overtager kameraet mens hun maler og jeg er ved lægen med vores datter. Min far underholder som altid med alle de vanvittige ting han siger og min mor er gået i krig med vasketøjet \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63", "e9aae5f2-e53b-4f8c-b704-b57a29b646c9", 3, [], 1386, false, "_c08N8LDjq4", "https://www.youtube.com/watch?v=_c08N8LDjq4", 62, "/downloads/shows/Livet på gården/Season 2025/s2025e103000 - Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63.mp4", false, false, false, 1, ~U[2025-10-30 14:00:55Z], ~U[2026-04-16 00:12:56Z], ~U[2026-04-16 00:12:56Z], "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode 959KRISTINES eller få rabatten via linket her: http://www.hellofresh.dk/959KRISTINES\n\nI denne episode sætter vi langt om længe keramik til salg igen, og det er udsolgt på meget få minutter. Vi er på røven over det må jeg bare sige. Mikkel bygger og vi får besøg af min familie der hjælper til hvor der er brug for det. Julle overtager kameraet mens hun maler og jeg er ved lægen med vores datter. Min far underholder som altid med alle de vanvittige ting han siger og min mor er gået i krig med vasketøjet \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63", 3, 1386, false, "_c08N8LDjq4", "https://www.youtube.com/watch?v=_c08N8LDjq4", "/downloads/shows/Livet på gården/Season 2025/s2025e103000 - Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63.mp4", false, ~U[2025-10-30 14:00:55Z]] 02:12:56.562 [debug] QUERY OK source="sources" db=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" = ?) [3] 02:12:56.562 [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] 02:12:56.563 [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 [89627] 02:12:56.563 [debug] Current batch of media processed. Will check again in 1000ms 02:12:57.564 [debug] Current batch of media processed. Will check again in 1000ms 02:12:57.854 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:58.565 [debug] Current batch of media processed. Will check again in 1000ms 02:12:59.566 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er vi langt om længe gået igang med at male soklen under vores vinduer. Mikkel er ikke just tilfreds med min måde at gøre det på, men det bliver han nok aldrig haha. Willy er blevet besat af at sidde på min skulder og Mikkel synes åbenbart at et pæretræ skal dø? Jeg svare også på spørgsmål jeg ofte får om hvordan det har været at blive mor, når man har et sind som mit.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1699, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e110600 - Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64.mp4", "id" => "NcSqbDLMJCo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=NcSqbDLMJCo", "playlist_index" => 63, "timestamp" => 1762437648, "title" => "Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64", "upload_date" => "20251106"} 02:12:59.567 [debug] QUERY OK source="sources" db=0.2ms idle=1017.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:12:59.568 [debug] QUERY OK source="sources" db=0.5ms idle=1017.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:59.568 [debug] QUERY OK source="media_items" db=0.6ms idle=1018.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-06 14:00:48Z], 3] 02:12:59.571 [debug] QUERY OK source="media_items" db=2.2ms idle=392.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi langt om længe gået igang med at male soklen under vores vinduer. Mikkel er ikke just tilfreds med min måde at gøre det på, men det bliver han nok aldrig haha. Willy er blevet besat af at sidde på min skulder og Mikkel synes åbenbart at et pæretræ skal dø? Jeg svare også på spørgsmål jeg ofte får om hvordan det har været at blive mor, når man har et sind som mit.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64", "bc0593b7-b0b7-4b96-9411-655808335678", 3, [], 1699, false, "NcSqbDLMJCo", "https://www.youtube.com/watch?v=NcSqbDLMJCo", 63, "/downloads/shows/Livet på gården/Season 2025/s2025e110600 - Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64.mp4", false, false, false, 1, ~U[2025-11-06 14:00:48Z], ~U[2026-04-16 00:12:59Z], ~U[2026-04-16 00:12:59Z], "I dette afsnit er vi langt om længe gået igang med at male soklen under vores vinduer. Mikkel er ikke just tilfreds med min måde at gøre det på, men det bliver han nok aldrig haha. Willy er blevet besat af at sidde på min skulder og Mikkel synes åbenbart at et pæretræ skal dø? Jeg svare også på spørgsmål jeg ofte får om hvordan det har været at blive mor, når man har et sind som mit.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64", 3, 1699, false, "NcSqbDLMJCo", "https://www.youtube.com/watch?v=NcSqbDLMJCo", "/downloads/shows/Livet på gården/Season 2025/s2025e110600 - Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64.mp4", false, ~U[2025-11-06 14:00:48Z]] 02:12:59.572 [debug] QUERY OK source="sources" db=0.1ms idle=22.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:12:59.572 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:12:59.573 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [92461] 02:12:59.573 [debug] Current batch of media processed. Will check again in 1000ms 02:13:00.573 [debug] Current batch of media processed. Will check again in 1000ms 02:13:00.752 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:13:01.574 [debug] Current batch of media processed. Will check again in 1000ms 02:13:02.575 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dagens afsnit er Mikkel spændt som en flitsbue fordi hans længe ventede drøm om en minilæsser endelig går i opfyldelse og jeg får mig ca. verdens gladeste mand og forhåbenligt lidt ro hahaha. Den er meget velkommen, fordi det er blevet tid til at pille gavlene ned med hjælp fra Mikkels bedste buddy Krog som også er tømrer. Deres mission er at pille 2 gavle ned og bygge dem op igen på 2 dage - et ambitiøst projekt mildt sagt. I kommer med i processen og Mikkel deler han tanker og viden om den slags. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1312, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e111300 - Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65.mp4", "id" => "bt4dqhzvEu0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bt4dqhzvEu0", "playlist_index" => 64, "timestamp" => 1763046097, "title" => "Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65", "upload_date" => "20251113"} 02:13:02.576 [debug] QUERY OK source="sources" db=0.5ms idle=1026.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:02.578 [debug] QUERY OK source="sources" db=1.0ms idle=1027.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:02.579 [debug] QUERY OK source="media_items" db=0.5ms idle=1028.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-13 15:01:37Z], 3] 02:13:02.581 [debug] QUERY OK source="media_items" db=1.3ms idle=394.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dagens afsnit er Mikkel spændt som en flitsbue fordi hans længe ventede drøm om en minilæsser endelig går i opfyldelse og jeg får mig ca. verdens gladeste mand og forhåbenligt lidt ro hahaha. Den er meget velkommen, fordi det er blevet tid til at pille gavlene ned med hjælp fra Mikkels bedste buddy Krog som også er tømrer. Deres mission er at pille 2 gavle ned og bygge dem op igen på 2 dage - et ambitiøst projekt mildt sagt. I kommer med i processen og Mikkel deler han tanker og viden om den slags. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65", "40281593-3e8f-4042-874a-6a8865be29ef", 3, [], 1312, false, "bt4dqhzvEu0", "https://www.youtube.com/watch?v=bt4dqhzvEu0", 64, "/downloads/shows/Livet på gården/Season 2025/s2025e111300 - Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65.mp4", false, false, false, 1, ~U[2025-11-13 15:01:37Z], ~U[2026-04-16 00:13:02Z], ~U[2026-04-16 00:13:02Z], "I dagens afsnit er Mikkel spændt som en flitsbue fordi hans længe ventede drøm om en minilæsser endelig går i opfyldelse og jeg får mig ca. verdens gladeste mand og forhåbenligt lidt ro hahaha. Den er meget velkommen, fordi det er blevet tid til at pille gavlene ned med hjælp fra Mikkels bedste buddy Krog som også er tømrer. Deres mission er at pille 2 gavle ned og bygge dem op igen på 2 dage - et ambitiøst projekt mildt sagt. I kommer med i processen og Mikkel deler han tanker og viden om den slags. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65", 3, 1312, false, "bt4dqhzvEu0", "https://www.youtube.com/watch?v=bt4dqhzvEu0", "/downloads/shows/Livet på gården/Season 2025/s2025e111300 - Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65.mp4", false, ~U[2025-11-13 15:01:37Z]] 02:13:02.582 [debug] QUERY OK source="sources" db=0.6ms idle=31.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:02.582 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 02:13:02.583 [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 [95282] 02:13:02.584 [debug] Current batch of media processed. Will check again in 1000ms 02:13:03.584 [debug] Current batch of media processed. Will check again in 1000ms 02:13:04.585 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit tager Mikkel os med når han viser hvad han har fikset med minilæsseren. Han har gang i den helt store oprydning både det ene og ander sted. Jeg prøver at sidde i minilæsseren for første gang mens Mikkel fortæller hvad den kan. Inde i køkkenet har jeg gang i at langtidskoge ossobuco til baby - og så tager vi jer med i vores planer og forestående indkøb til overetagen. Og det bliver ikke ligefrem gratis. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1694, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e112000 - Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66.mp4", "id" => "XO87v1AxbWQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XO87v1AxbWQ", "playlist_index" => 65, "timestamp" => 1763650866, "title" => "Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66", "upload_date" => "20251120"} 02:13:04.586 [debug] QUERY OK source="sources" db=0.2ms idle=398.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:04.586 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=36.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:04.587 [debug] QUERY OK source="media_items" db=0.4ms idle=37.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-20 15:01:06Z], 3] 02:13:04.589 [debug] QUERY OK source="media_items" db=0.8ms idle=38.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager Mikkel os med når han viser hvad han har fikset med minilæsseren. Han har gang i den helt store oprydning både det ene og ander sted. Jeg prøver at sidde i minilæsseren for første gang mens Mikkel fortæller hvad den kan. Inde i køkkenet har jeg gang i at langtidskoge ossobuco til baby - og så tager vi jer med i vores planer og forestående indkøb til overetagen. Og det bliver ikke ligefrem gratis. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66", "8051f0c5-295c-43ff-9ddd-9ba1668bd620", 3, [], 1694, false, "XO87v1AxbWQ", "https://www.youtube.com/watch?v=XO87v1AxbWQ", 65, "/downloads/shows/Livet på gården/Season 2025/s2025e112000 - Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66.mp4", false, false, false, 1, ~U[2025-11-20 15:01:06Z], ~U[2026-04-16 00:13:04Z], ~U[2026-04-16 00:13:04Z], "I dette afsnit tager Mikkel os med når han viser hvad han har fikset med minilæsseren. Han har gang i den helt store oprydning både det ene og ander sted. Jeg prøver at sidde i minilæsseren for første gang mens Mikkel fortæller hvad den kan. Inde i køkkenet har jeg gang i at langtidskoge ossobuco til baby - og så tager vi jer med i vores planer og forestående indkøb til overetagen. Og det bliver ikke ligefrem gratis. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66", 3, 1694, false, "XO87v1AxbWQ", "https://www.youtube.com/watch?v=XO87v1AxbWQ", "/downloads/shows/Livet på gården/Season 2025/s2025e112000 - Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66.mp4", false, ~U[2025-11-20 15:01:06Z]] 02:13:04.589 [debug] QUERY OK source="sources" db=0.1ms idle=39.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:04.589 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:13:04.590 [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 [98129] 02:13:04.590 [debug] Current batch of media processed. Will check again in 1000ms 02:13:05.591 [debug] Current batch of media processed. Will check again in 1000ms 02:13:06.592 [debug] Current batch of media processed. Will check again in 1000ms 02:13:07.593 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er vi gået i køkkenet for at forsøge os med at lave vores egen kimchi, som jo er en form for fermenteret koreansk kål, som Mikkel elsker og spiser i store mængder. Det viser sig som lidt af en videnskab, men ikke desto mindre er Mikkel sjofel som altid og jeg forsøger bare at komme i mål med den kål, hahah. Det er samme dag simba prisen, som vi vinder - men som i nok ved, er jeg mere til kimchi end store sale og mennesker. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1232, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e112700 - Vi laver hjemmelavet kimchi | Livet på gården Ep. 67.mp4", "id" => "qDN2-yN1EkI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qDN2-yN1EkI", "playlist_index" => 66, "timestamp" => 1764255705, "title" => "Vi laver hjemmelavet kimchi | Livet på gården Ep. 67", "upload_date" => "20251127"} 02:13:07.594 [debug] QUERY OK source="sources" db=0.4ms idle=1044.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:07.594 [debug] QUERY OK source="sources" db=0.2ms idle=1045.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:07.595 [debug] QUERY OK source="media_items" db=0.3ms idle=1045.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-27 15:01:45Z], 3] 02:13:07.604 [debug] QUERY OK source="media_items" db=7.8ms idle=1046.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi gået i køkkenet for at forsøge os med at lave vores egen kimchi, som jo er en form for fermenteret koreansk kål, som Mikkel elsker og spiser i store mængder. Det viser sig som lidt af en videnskab, men ikke desto mindre er Mikkel sjofel som altid og jeg forsøger bare at komme i mål med den kål, hahah. Det er samme dag simba prisen, som vi vinder - men som i nok ved, er jeg mere til kimchi end store sale og mennesker. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi laver hjemmelavet kimchi | Livet på gården Ep. 67", "73fd7fcb-bcd1-45be-b0e0-5cdf191d23d2", 3, [], 1232, false, "qDN2-yN1EkI", "https://www.youtube.com/watch?v=qDN2-yN1EkI", 66, "/downloads/shows/Livet på gården/Season 2025/s2025e112700 - Vi laver hjemmelavet kimchi | Livet på gården Ep. 67.mp4", false, false, false, 1, ~U[2025-11-27 15:01:45Z], ~U[2026-04-16 00:13:07Z], ~U[2026-04-16 00:13:07Z], "I dette afsnit er vi gået i køkkenet for at forsøge os med at lave vores egen kimchi, som jo er en form for fermenteret koreansk kål, som Mikkel elsker og spiser i store mængder. Det viser sig som lidt af en videnskab, men ikke desto mindre er Mikkel sjofel som altid og jeg forsøger bare at komme i mål med den kål, hahah. Det er samme dag simba prisen, som vi vinder - men som i nok ved, er jeg mere til kimchi end store sale og mennesker. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi laver hjemmelavet kimchi | Livet på gården Ep. 67", 3, 1232, false, "qDN2-yN1EkI", "https://www.youtube.com/watch?v=qDN2-yN1EkI", "/downloads/shows/Livet på gården/Season 2025/s2025e112700 - Vi laver hjemmelavet kimchi | Livet på gården Ep. 67.mp4", false, ~U[2025-11-27 15:01:45Z]] 02:13:07.604 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=413.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:07.605 [debug] QUERY OK source="media_profiles" db=0.2ms idle=10.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:13:07.606 [debug] QUERY OK source="media_items" db=0.5ms idle=10.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 [101004] 02:13:07.606 [debug] Current batch of media processed. Will check again in 1000ms 02:13:08.607 [debug] Current batch of media processed. Will check again in 1000ms 02:13:09.608 [debug] Current batch of media processed. Will check again in 1000ms 02:13:10.609 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit kommer i for alvor med ovenpå når vi lægger en endelig plan for ruminddelingen af overetagen og Mikkel grubler og fortæller hvorfor noget kan lade sig gøre, og andet ikke kan. Vi skal have gang i det helt store isoleringsarbejde, fordi det for alvor er blevet koldt - så vi knokler på og får slæbt isolering op og går igang. Jeg hjælper så godt jeg kan, men som i ved er Mikkel ikke altid begejstret for det jeg byder ind med. Vi kører timelapse derudaf og runder også \"Brohave bliver bøf\", hvilket Mikkel simpelthen ikke ved hvad er, hahahah\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1620, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e121100 - Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68.mp4", "id" => "kOicCYUbF9Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kOicCYUbF9Y", "playlist_index" => 67, "timestamp" => 1765465294, "title" => "Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68", "upload_date" => "20251211"} 02:13:10.611 [debug] QUERY OK source="sources" db=0.9ms idle=1060.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:10.612 [debug] QUERY OK source="sources" db=0.6ms idle=1061.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:10.612 [debug] QUERY OK source="media_items" db=0.5ms idle=1062.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-11 15:01:34Z], 3] 02:13:10.616 [debug] QUERY OK source="media_items" db=2.5ms idle=1063.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i for alvor med ovenpå når vi lægger en endelig plan for ruminddelingen af overetagen og Mikkel grubler og fortæller hvorfor noget kan lade sig gøre, og andet ikke kan. Vi skal have gang i det helt store isoleringsarbejde, fordi det for alvor er blevet koldt - så vi knokler på og får slæbt isolering op og går igang. Jeg hjælper så godt jeg kan, men som i ved er Mikkel ikke altid begejstret for det jeg byder ind med. Vi kører timelapse derudaf og runder også \"Brohave bliver bøf\", hvilket Mikkel simpelthen ikke ved hvad er, hahahah\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68", "e53b1655-a92a-41c1-a369-8925734001ff", 3, [], 1620, false, "kOicCYUbF9Y", "https://www.youtube.com/watch?v=kOicCYUbF9Y", 67, "/downloads/shows/Livet på gården/Season 2025/s2025e121100 - Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68.mp4", false, false, false, 1, ~U[2025-12-11 15:01:34Z], ~U[2026-04-16 00:13:10Z], ~U[2026-04-16 00:13:10Z], "I dette afsnit kommer i for alvor med ovenpå når vi lægger en endelig plan for ruminddelingen af overetagen og Mikkel grubler og fortæller hvorfor noget kan lade sig gøre, og andet ikke kan. Vi skal have gang i det helt store isoleringsarbejde, fordi det for alvor er blevet koldt - så vi knokler på og får slæbt isolering op og går igang. Jeg hjælper så godt jeg kan, men som i ved er Mikkel ikke altid begejstret for det jeg byder ind med. Vi kører timelapse derudaf og runder også \"Brohave bliver bøf\", hvilket Mikkel simpelthen ikke ved hvad er, hahahah\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68", 3, 1620, false, "kOicCYUbF9Y", "https://www.youtube.com/watch?v=kOicCYUbF9Y", "/downloads/shows/Livet på gården/Season 2025/s2025e121100 - Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68.mp4", false, ~U[2025-12-11 15:01:34Z]] 02:13:10.616 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=420.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:10.617 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 02:13:10.619 [debug] QUERY OK source="media_items" db=0.4ms 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 [106794] 02:13:10.619 [debug] Current batch of media processed. Will check again in 1000ms 02:13:11.620 [debug] Current batch of media processed. Will check again in 1000ms 02:13:12.621 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården sørger vi for at få lukket af med vintermåtter oppe på overetagen. Jeg er i dårligt humør, en dag vi beslutter os for at hænge lyskæder op udenfor, men Mikkel er som altid smart i en fart og fyre alt muligt pis af, hahah. Derudover har vi kæmpe store problemer i hønsegården og har taget en stor beslutning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1331, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e121800 - Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69.mp4", "id" => "49M-tMeNIb0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=49M-tMeNIb0", "playlist_index" => 68, "timestamp" => 1766070008, "title" => "Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69", "upload_date" => "20251218"} 02:13:12.622 [debug] QUERY OK source="sources" db=0.5ms idle=422.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:12.623 [debug] QUERY OK source="sources" db=0.7ms idle=73.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:12.624 [debug] QUERY OK source="media_items" db=0.8ms idle=74.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-18 15:00:08Z], 3] 02:13:12.626 [debug] QUERY OK source="media_items" db=1.3ms idle=75.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården sørger vi for at få lukket af med vintermåtter oppe på overetagen. Jeg er i dårligt humør, en dag vi beslutter os for at hænge lyskæder op udenfor, men Mikkel er som altid smart i en fart og fyre alt muligt pis af, hahah. Derudover har vi kæmpe store problemer i hønsegården og har taget en stor beslutning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69", "2cff0190-969b-473d-af57-900401f302c2", 3, [], 1331, false, "49M-tMeNIb0", "https://www.youtube.com/watch?v=49M-tMeNIb0", 68, "/downloads/shows/Livet på gården/Season 2025/s2025e121800 - Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69.mp4", false, false, false, 1, ~U[2025-12-18 15:00:08Z], ~U[2026-04-16 00:13:12Z], ~U[2026-04-16 00:13:12Z], "I dette afsnit af livet på gården sørger vi for at få lukket af med vintermåtter oppe på overetagen. Jeg er i dårligt humør, en dag vi beslutter os for at hænge lyskæder op udenfor, men Mikkel er som altid smart i en fart og fyre alt muligt pis af, hahah. Derudover har vi kæmpe store problemer i hønsegården og har taget en stor beslutning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69", 3, 1331, false, "49M-tMeNIb0", "https://www.youtube.com/watch?v=49M-tMeNIb0", "/downloads/shows/Livet på gården/Season 2025/s2025e121800 - Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69.mp4", false, ~U[2025-12-18 15:00:08Z]] 02:13:12.627 [debug] QUERY OK source="sources" db=0.3ms idle=77.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:12.628 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 02:13:12.629 [debug] QUERY OK source="media_items" db=0.8ms 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 [109831] 02:13:12.630 [debug] Current batch of media processed. Will check again in 1000ms 02:13:13.631 [debug] Current batch of media processed. Will check again in 1000ms 02:13:14.632 [debug] Current batch of media processed. Will check again in 1000ms 02:13:15.633 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode KRISTINES26 eller få rabatten via linket her: http://www.hellofresh.dk/KRISTINES26\n\nI denne video har vi endelig fundet den helt perfekte brugte trappe som Mikkel henter i Thy, på en trailer der ser pænt spændende ud. Opgaven er så at få den godt på plads inde i laden, indtil den skal monteres i huset. Der er også blevet tomt i hønsehuset for første gang i nærmest alt den tid vi har boet på gården og det synes jeg er ret svært. Jeg er igang i køkkenet og Mikkel fortsætter kampen med at isolere overetagen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1463, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e010800 - En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71.mp4", "id" => "EzliYAXWUnU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EzliYAXWUnU", "playlist_index" => 69, "timestamp" => 1767884433, "title" => "En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71", "upload_date" => "20260108"} 02:13:15.634 [debug] QUERY OK source="sources" db=0.3ms idle=1084.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:15.635 [debug] QUERY OK source="sources" db=0.3ms idle=1085.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:15.636 [debug] QUERY OK source="media_items" db=0.6ms idle=1085.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-08 15:00:33Z], 3] 02:13:15.637 [debug] QUERY OK source="media_items" db=1.0ms idle=1086.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode KRISTINES26 eller få rabatten via linket her: http://www.hellofresh.dk/KRISTINES26\n\nI denne video har vi endelig fundet den helt perfekte brugte trappe som Mikkel henter i Thy, på en trailer der ser pænt spændende ud. Opgaven er så at få den godt på plads inde i laden, indtil den skal monteres i huset. Der er også blevet tomt i hønsehuset for første gang i nærmest alt den tid vi har boet på gården og det synes jeg er ret svært. Jeg er igang i køkkenet og Mikkel fortsætter kampen med at isolere overetagen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71", "157c5a13-3bfb-4964-b5f2-9292baa9d4dd", 3, [], 1463, false, "EzliYAXWUnU", "https://www.youtube.com/watch?v=EzliYAXWUnU", 69, "/downloads/shows/Livet på gården/Season 2026/s2026e010800 - En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71.mp4", false, false, false, 1, ~U[2026-01-08 15:00:33Z], ~U[2026-04-16 00:13:15Z], ~U[2026-04-16 00:13:15Z], "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode KRISTINES26 eller få rabatten via linket her: http://www.hellofresh.dk/KRISTINES26\n\nI denne video har vi endelig fundet den helt perfekte brugte trappe som Mikkel henter i Thy, på en trailer der ser pænt spændende ud. Opgaven er så at få den godt på plads inde i laden, indtil den skal monteres i huset. Der er også blevet tomt i hønsehuset for første gang i nærmest alt den tid vi har boet på gården og det synes jeg er ret svært. Jeg er igang i køkkenet og Mikkel fortsætter kampen med at isolere overetagen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71", 3, 1463, false, "EzliYAXWUnU", "https://www.youtube.com/watch?v=EzliYAXWUnU", "/downloads/shows/Livet på gården/Season 2026/s2026e010800 - En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71.mp4", false, ~U[2026-01-08 15:00:33Z]] 02:13:15.638 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=435.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:15.638 [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] 02:13:15.639 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118803] 02:13:15.639 [debug] Current batch of media processed. Will check again in 1000ms 02:13:16.640 [debug] Current batch of media processed. Will check again in 1000ms 02:13:17.641 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode har vi os en noget svag hund som er blevet opereret, jeg organiserer til den helt store guldmedalje og så er jeg altså begyndt at preppe og fylde skabene til ekstra op. Mikkel fyre rundt ovenpå og er ved at kunne se enden på isoleringen og så får vi for alvor et kig på hvordan vores hall kommer til at se ud - den bliver jo kæmpe! \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1063, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e011500 - Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72.mp4", "id" => "W25cAiJgVl4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=W25cAiJgVl4", "playlist_index" => 70, "timestamp" => 1768489257, "title" => "Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72", "upload_date" => "20260115"} 02:13:17.642 [debug] QUERY OK source="sources" db=0.3ms idle=437.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:17.642 [debug] QUERY OK source="sources" db=0.2ms idle=93.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:17.643 [debug] QUERY OK source="media_items" db=0.4ms idle=93.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-15 15:00:57Z], 3] 02:13:17.645 [debug] QUERY OK source="media_items" db=0.9ms idle=94.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode har vi os en noget svag hund som er blevet opereret, jeg organiserer til den helt store guldmedalje og så er jeg altså begyndt at preppe og fylde skabene til ekstra op. Mikkel fyre rundt ovenpå og er ved at kunne se enden på isoleringen og så får vi for alvor et kig på hvordan vores hall kommer til at se ud - den bliver jo kæmpe! \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72", "b3f083f9-c25d-4f69-b2e2-2168904ec146", 3, [], 1063, false, "W25cAiJgVl4", "https://www.youtube.com/watch?v=W25cAiJgVl4", 70, "/downloads/shows/Livet på gården/Season 2026/s2026e011500 - Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72.mp4", false, false, false, 1, ~U[2026-01-15 15:00:57Z], ~U[2026-04-16 00:13:17Z], ~U[2026-04-16 00:13:17Z], "I denne episode har vi os en noget svag hund som er blevet opereret, jeg organiserer til den helt store guldmedalje og så er jeg altså begyndt at preppe og fylde skabene til ekstra op. Mikkel fyre rundt ovenpå og er ved at kunne se enden på isoleringen og så får vi for alvor et kig på hvordan vores hall kommer til at se ud - den bliver jo kæmpe! \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72", 3, 1063, false, "W25cAiJgVl4", "https://www.youtube.com/watch?v=W25cAiJgVl4", "/downloads/shows/Livet på gården/Season 2026/s2026e011500 - Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72.mp4", false, ~U[2026-01-15 15:00:57Z]] 02:13:17.645 [debug] QUERY OK source="sources" db=0.3ms idle=95.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:17.646 [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] 02:13:17.647 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [121817] 02:13:17.647 [debug] Current batch of media processed. Will check again in 1000ms 02:13:18.648 [debug] Current batch of media processed. Will check again in 1000ms 02:13:19.649 [debug] Current batch of media processed. Will check again in 1000ms 02:13:20.650 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode sælger vi keramik. I kommer med helt tæt på når jeg forbereder og sætter op. Min mor kommer os til undsætning for at hjælpe med pakkeriet, og jeg er som altid spændt som en flitsbue. Det hele bliver udsolgt på rekordtid og jeg er bare i chok altså. Det er SÅ vildt! \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1312, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e012200 - Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73.mp4", "id" => "ZhpmiMpVyZw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZhpmiMpVyZw", "playlist_index" => 71, "timestamp" => 1769094066, "title" => "Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73", "upload_date" => "20260122"} 02:13:20.651 [debug] QUERY OK source="sources" db=0.2ms idle=1101.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:20.651 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [3] 02:13:20.652 [debug] QUERY OK source="media_items" db=0.3ms idle=1102.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 15:01:06Z], 3] 02:13:20.654 [debug] QUERY OK source="media_items" db=0.9ms idle=1103.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode sælger vi keramik. I kommer med helt tæt på når jeg forbereder og sætter op. Min mor kommer os til undsætning for at hjælpe med pakkeriet, og jeg er som altid spændt som en flitsbue. Det hele bliver udsolgt på rekordtid og jeg er bare i chok altså. Det er SÅ vildt! \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73", "b473efaf-23dd-4058-b0c9-02f0c3edbc4a", 3, [], 1312, false, "ZhpmiMpVyZw", "https://www.youtube.com/watch?v=ZhpmiMpVyZw", 71, "/downloads/shows/Livet på gården/Season 2026/s2026e012200 - Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73.mp4", false, false, false, 1, ~U[2026-01-22 15:01:06Z], ~U[2026-04-16 00:13:20Z], ~U[2026-04-16 00:13:20Z], "I denne episode sælger vi keramik. I kommer med helt tæt på når jeg forbereder og sætter op. Min mor kommer os til undsætning for at hjælpe med pakkeriet, og jeg er som altid spændt som en flitsbue. Det hele bliver udsolgt på rekordtid og jeg er bare i chok altså. Det er SÅ vildt! \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73", 3, 1312, false, "ZhpmiMpVyZw", "https://www.youtube.com/watch?v=ZhpmiMpVyZw", "/downloads/shows/Livet på gården/Season 2026/s2026e012200 - Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73.mp4", false, ~U[2026-01-22 15:01:06Z]] 02:13:20.654 [debug] QUERY OK source="sources" db=0.3ms idle=447.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:20.655 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:13:20.655 [debug] QUERY OK source="media_items" db=0.3ms 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 [124860] 02:13:20.655 [debug] Current batch of media processed. Will check again in 1000ms 02:13:21.656 [debug] Current batch of media processed. Will check again in 1000ms 02:13:22.657 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården er vi mildest talt ufatteligt nervøse. Efter en weekend hvor vi akut måtte kører Carla til dyrlægen, er Mikkel kørt afsted med hende til Viborg hvor hun skal ind til en neurolog, fordi hun opfører sig helt skørt og ved siden af sig selv. I mens forsøger jeg at distrahere mig selv i keramikken. Senere er der dårlig stemning på første salen da det går op for os at Willy bruger isolering som toilet - og så er vi en tur udenfor, for at rydde op efter nedrivningen af gavlene. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1476, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e012900 - Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74.mp4", "id" => "mJgxlMp3x34", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mJgxlMp3x34", "playlist_index" => 72, "timestamp" => 1769698882, "title" => "Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74", "upload_date" => "20260129"} 02:13:22.658 [debug] QUERY OK source="sources" db=0.2ms idle=447.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:22.658 [debug] QUERY OK source="sources" db=0.1ms idle=108.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:22.659 [debug] QUERY OK source="media_items" db=0.3ms idle=109.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 15:01:22Z], 3] 02:13:22.660 [debug] QUERY OK source="media_items" db=0.9ms idle=110.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården er vi mildest talt ufatteligt nervøse. Efter en weekend hvor vi akut måtte kører Carla til dyrlægen, er Mikkel kørt afsted med hende til Viborg hvor hun skal ind til en neurolog, fordi hun opfører sig helt skørt og ved siden af sig selv. I mens forsøger jeg at distrahere mig selv i keramikken. Senere er der dårlig stemning på første salen da det går op for os at Willy bruger isolering som toilet - og så er vi en tur udenfor, for at rydde op efter nedrivningen af gavlene. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74", "9331995a-8e8e-4094-ad62-8a7886185b86", 3, [], 1476, false, "mJgxlMp3x34", "https://www.youtube.com/watch?v=mJgxlMp3x34", 72, "/downloads/shows/Livet på gården/Season 2026/s2026e012900 - Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74.mp4", false, false, false, 1, ~U[2026-01-29 15:01:22Z], ~U[2026-04-16 00:13:22Z], ~U[2026-04-16 00:13:22Z], "I dette afsnit af livet på gården er vi mildest talt ufatteligt nervøse. Efter en weekend hvor vi akut måtte kører Carla til dyrlægen, er Mikkel kørt afsted med hende til Viborg hvor hun skal ind til en neurolog, fordi hun opfører sig helt skørt og ved siden af sig selv. I mens forsøger jeg at distrahere mig selv i keramikken. Senere er der dårlig stemning på første salen da det går op for os at Willy bruger isolering som toilet - og så er vi en tur udenfor, for at rydde op efter nedrivningen af gavlene. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74", 3, 1476, false, "mJgxlMp3x34", "https://www.youtube.com/watch?v=mJgxlMp3x34", "/downloads/shows/Livet på gården/Season 2026/s2026e012900 - Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74.mp4", false, ~U[2026-01-29 15:01:22Z]] 02:13:22.661 [debug] QUERY OK source="sources" db=0.1ms idle=111.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:22.661 [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] 02:13:22.662 [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 [127637] 02:13:22.662 [debug] Current batch of media processed. Will check again in 1000ms 02:13:23.663 [debug] Current batch of media processed. Will check again in 1000ms 02:13:24.664 [debug] Current batch of media processed. Will check again in 1000ms 02:13:25.665 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video fortsætter byggeriet og jeg får overtalt Mikkel til selv at tage kameraet med op og fortælle lidt mere teknisk om hvad han laver og hvorfor - og så har han lavet en timelapse (så cute). Mens der sker gevaldige fremskridt på første salen, er min første sal udfordret. Jeg er træt med træt på. Der er også kommet sne på gården og så opdatere jeg på hvordan det går med Carla. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1929, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e020500 - Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75.mp4", "id" => "o4CgI8DjMPw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=o4CgI8DjMPw", "playlist_index" => 73, "timestamp" => 1770303689, "title" => "Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75", "upload_date" => "20260205"} 02:13:25.666 [debug] QUERY OK source="sources" db=0.3ms idle=1116.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:25.666 [debug] QUERY OK source="sources" db=0.1ms idle=1117.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:25.667 [debug] QUERY OK source="media_items" db=0.3ms idle=1117.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 15:01:29Z], 3] 02:13:25.669 [debug] QUERY OK source="media_items" db=0.8ms idle=1118.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video fortsætter byggeriet og jeg får overtalt Mikkel til selv at tage kameraet med op og fortælle lidt mere teknisk om hvad han laver og hvorfor - og så har han lavet en timelapse (så cute). Mens der sker gevaldige fremskridt på første salen, er min første sal udfordret. Jeg er træt med træt på. Der er også kommet sne på gården og så opdatere jeg på hvordan det går med Carla. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75", "b9c8f2b9-15f5-4bfb-9883-c29544ee64e4", 3, [], 1929, false, "o4CgI8DjMPw", "https://www.youtube.com/watch?v=o4CgI8DjMPw", 73, "/downloads/shows/Livet på gården/Season 2026/s2026e020500 - Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75.mp4", false, false, false, 1, ~U[2026-02-05 15:01:29Z], ~U[2026-04-16 00:13:25Z], ~U[2026-04-16 00:13:25Z], "I denne video fortsætter byggeriet og jeg får overtalt Mikkel til selv at tage kameraet med op og fortælle lidt mere teknisk om hvad han laver og hvorfor - og så har han lavet en timelapse (så cute). Mens der sker gevaldige fremskridt på første salen, er min første sal udfordret. Jeg er træt med træt på. Der er også kommet sne på gården og så opdatere jeg på hvordan det går med Carla. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75", 3, 1929, false, "o4CgI8DjMPw", "https://www.youtube.com/watch?v=o4CgI8DjMPw", "/downloads/shows/Livet på gården/Season 2026/s2026e020500 - Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75.mp4", false, ~U[2026-02-05 15:01:29Z]] 02:13:25.669 [debug] QUERY OK source="sources" db=0.3ms idle=455.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:25.669 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:13:25.670 [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 [130670] 02:13:25.670 [debug] Current batch of media processed. Will check again in 1000ms 02:13:26.671 [debug] Current batch of media processed. Will check again in 1000ms 02:13:27.672 [debug] Current batch of media processed. Will check again in 1000ms 02:13:27.855 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:28.673 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården går Mikkel i krig med at rette gulvet op på overetagen og får lagt en en gulvspånplader. Der er nedslående nyheder fra Krog, the man of all men, som er vores mest pålidelige hjælp - og så tager vi altså en snak om økonomien i en renovering som vores. Hvad har overetagen kostet indtil videre? Og hvad regner vi med at bruge? Mikkel tegner og fortæller grundigt om den endelige planløsning som nu er fastlagt - og nårh ja, så har jeg fået min menstruation for første gang siden fødslen og det er ikke for tøsedrenge\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1827, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e021200 - Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76.mp4", "id" => "gZRnKqaiy3k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gZRnKqaiy3k", "playlist_index" => 74, "timestamp" => 1770908476, "title" => "Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76", "upload_date" => "20260212"} 02:13:28.674 [debug] QUERY OK source="sources" db=0.3ms idle=1124.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:28.675 [debug] QUERY OK source="sources" db=0.2ms idle=1125.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:28.676 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=1125.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-12 15:01:16Z], 3] 02:13:28.677 [debug] QUERY OK source="media_items" db=0.9ms idle=821.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården går Mikkel i krig med at rette gulvet op på overetagen og får lagt en en gulvspånplader. Der er nedslående nyheder fra Krog, the man of all men, som er vores mest pålidelige hjælp - og så tager vi altså en snak om økonomien i en renovering som vores. Hvad har overetagen kostet indtil videre? Og hvad regner vi med at bruge? Mikkel tegner og fortæller grundigt om den endelige planløsning som nu er fastlagt - og nårh ja, så har jeg fået min menstruation for første gang siden fødslen og det er ikke for tøsedrenge\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76", "39a670af-acdf-41de-946b-9cbf24c5c7de", 3, [], 1827, false, "gZRnKqaiy3k", "https://www.youtube.com/watch?v=gZRnKqaiy3k", 74, "/downloads/shows/Livet på gården/Season 2026/s2026e021200 - Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76.mp4", false, false, false, 1, ~U[2026-02-12 15:01:16Z], ~U[2026-04-16 00:13:28Z], ~U[2026-04-16 00:13:28Z], "I dette afsnit af livet på gården går Mikkel i krig med at rette gulvet op på overetagen og får lagt en en gulvspånplader. Der er nedslående nyheder fra Krog, the man of all men, som er vores mest pålidelige hjælp - og så tager vi altså en snak om økonomien i en renovering som vores. Hvad har overetagen kostet indtil videre? Og hvad regner vi med at bruge? Mikkel tegner og fortæller grundigt om den endelige planløsning som nu er fastlagt - og nårh ja, så har jeg fået min menstruation for første gang siden fødslen og det er ikke for tøsedrenge\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76", 3, 1827, false, "gZRnKqaiy3k", "https://www.youtube.com/watch?v=gZRnKqaiy3k", "/downloads/shows/Livet på gården/Season 2026/s2026e021200 - Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76.mp4", false, ~U[2026-02-12 15:01:16Z]] 02:13:28.678 [debug] QUERY OK source="sources" db=0.2ms idle=461.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:28.678 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:13:28.679 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [133899] 02:13:28.679 [debug] Current batch of media processed. Will check again in 1000ms 02:13:29.680 [debug] Current batch of media processed. Will check again in 1000ms 02:13:30.681 [debug] Current batch of media processed. Will check again in 1000ms 02:13:31.682 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit trodser vi kulden og begynder at måle op og lægge planer for udvidelsen af mit keramikværksted som vi har planer om. Mikkel hjælper mig med at lave tørreplader af gips til keramikken - og så snakker vi om hvad folk på reddit synes om os. Jeg tager jer også med lidt mere i detaljen af hvordan det foregår når jeg blandt andet glasere kopper. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1488, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e021900 - Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77.mp4", "id" => "XPD5zoS3yLA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XPD5zoS3yLA", "playlist_index" => 75, "timestamp" => 1771513262, "title" => "Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77", "upload_date" => "20260219"} 02:13:31.683 [debug] QUERY OK source="sources" db=0.3ms idle=1133.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:31.683 [debug] QUERY OK source="sources" db=0.2ms idle=1134.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:31.684 [debug] QUERY OK source="media_items" db=0.4ms idle=1134.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-19 15:01:02Z], 3] 02:13:31.686 [debug] QUERY OK source="media_items" db=1.6ms idle=1135.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit trodser vi kulden og begynder at måle op og lægge planer for udvidelsen af mit keramikværksted som vi har planer om. Mikkel hjælper mig med at lave tørreplader af gips til keramikken - og så snakker vi om hvad folk på reddit synes om os. Jeg tager jer også med lidt mere i detaljen af hvordan det foregår når jeg blandt andet glasere kopper. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77", "d98c288a-63c5-4b09-85b9-4e598791e154", 3, [], 1488, false, "XPD5zoS3yLA", "https://www.youtube.com/watch?v=XPD5zoS3yLA", 75, "/downloads/shows/Livet på gården/Season 2026/s2026e021900 - Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77.mp4", false, false, false, 1, ~U[2026-02-19 15:01:02Z], ~U[2026-04-16 00:13:31Z], ~U[2026-04-16 00:13:31Z], "I dette afsnit trodser vi kulden og begynder at måle op og lægge planer for udvidelsen af mit keramikværksted som vi har planer om. Mikkel hjælper mig med at lave tørreplader af gips til keramikken - og så snakker vi om hvad folk på reddit synes om os. Jeg tager jer også med lidt mere i detaljen af hvordan det foregår når jeg blandt andet glasere kopper. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77", 3, 1488, false, "XPD5zoS3yLA", "https://www.youtube.com/watch?v=XPD5zoS3yLA", "/downloads/shows/Livet på gården/Season 2026/s2026e021900 - Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77.mp4", false, ~U[2026-02-19 15:01:02Z]] 02:13:31.687 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=464.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:31.688 [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] 02:13:31.688 [debug] QUERY OK source="media_items" db=0.4ms 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 [137079] 02:13:31.688 [debug] Current batch of media processed. Will check again in 1000ms 02:13:32.689 [debug] Current batch of media processed. Will check again in 1000ms 02:13:33.690 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh. \n\nSpar op til 959 kroner på dine første 5 måltidskasser og få gratis snacks med de første 3 måneder med min kode: KRISTINES2026\nEller få rabatten helt automatisk ved brug af dette link: http://www.hellofresh.dk/KRISTINES2026\n\ndenne video er vores længe ventede 3D printer endelig kommet hjem - noget vi har set frem til og særligt Mikkel som den grej freak han er, synes det er spændende. Vi samler den og prøver den af - og sikke en verden! I kommer med i køkkenet hvor den står på en smule primitiv madlavning fordi køkkenet flyder, fordi der er VVS arbejde igang og så viser jeg nogle af de sager vi har printet frem. Og er meget fascineret. Vi er også i sving med den helt store rengøring inden Rasmus Brohave kommer på besøg og skal overnatte - og det er jo ingen hemmelighed at min rengøringsstandard ikke helt lever op til den meget pæne mands, haha\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1391, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e022600 - Vi har købt en 3D printer! | Livet på gården Ep. 78.mp4", "id" => "Op8Tlzdn5eo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Op8Tlzdn5eo", "playlist_index" => 76, "timestamp" => 1772118051, "title" => "Vi har købt en 3D printer! | Livet på gården Ep. 78", "upload_date" => "20260226"} 02:13:33.691 [debug] QUERY OK source="sources" db=0.3ms idle=463.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:33.691 [debug] QUERY OK source="sources" db=0.1ms idle=142.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:33.692 [debug] QUERY OK source="media_items" db=0.4ms idle=142.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 15:00:51Z], 3] 02:13:33.694 [debug] QUERY OK source="media_items" db=1.2ms idle=143.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nSpar op til 959 kroner på dine første 5 måltidskasser og få gratis snacks med de første 3 måneder med min kode: KRISTINES2026\nEller få rabatten helt automatisk ved brug af dette link: http://www.hellofresh.dk/KRISTINES2026\n\ndenne video er vores længe ventede 3D printer endelig kommet hjem - noget vi har set frem til og særligt Mikkel som den grej freak han er, synes det er spændende. Vi samler den og prøver den af - og sikke en verden! I kommer med i køkkenet hvor den står på en smule primitiv madlavning fordi køkkenet flyder, fordi der er VVS arbejde igang og så viser jeg nogle af de sager vi har printet frem. Og er meget fascineret. Vi er også i sving med den helt store rengøring inden Rasmus Brohave kommer på besøg og skal overnatte - og det er jo ingen hemmelighed at min rengøringsstandard ikke helt lever op til den meget pæne mands, haha\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi har købt en 3D printer! | Livet på gården Ep. 78", "98689663-d845-4834-bf43-77c7e3122374", 3, [], 1391, false, "Op8Tlzdn5eo", "https://www.youtube.com/watch?v=Op8Tlzdn5eo", 76, "/downloads/shows/Livet på gården/Season 2026/s2026e022600 - Vi har købt en 3D printer! | Livet på gården Ep. 78.mp4", false, false, false, 1, ~U[2026-02-26 15:00:51Z], ~U[2026-04-16 00:13:33Z], ~U[2026-04-16 00:13:33Z], "Denne video indeholder reklame for HelloFresh. \n\nSpar op til 959 kroner på dine første 5 måltidskasser og få gratis snacks med de første 3 måneder med min kode: KRISTINES2026\nEller få rabatten helt automatisk ved brug af dette link: http://www.hellofresh.dk/KRISTINES2026\n\ndenne video er vores længe ventede 3D printer endelig kommet hjem - noget vi har set frem til og særligt Mikkel som den grej freak han er, synes det er spændende. Vi samler den og prøver den af - og sikke en verden! I kommer med i køkkenet hvor den står på en smule primitiv madlavning fordi køkkenet flyder, fordi der er VVS arbejde igang og så viser jeg nogle af de sager vi har printet frem. Og er meget fascineret. Vi er også i sving med den helt store rengøring inden Rasmus Brohave kommer på besøg og skal overnatte - og det er jo ingen hemmelighed at min rengøringsstandard ikke helt lever op til den meget pæne mands, haha\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi har købt en 3D printer! | Livet på gården Ep. 78", 3, 1391, false, "Op8Tlzdn5eo", "https://www.youtube.com/watch?v=Op8Tlzdn5eo", "/downloads/shows/Livet på gården/Season 2026/s2026e022600 - Vi har købt en 3D printer! | Livet på gården Ep. 78.mp4", false, ~U[2026-02-26 15:00:51Z]] 02:13:33.695 [debug] QUERY OK source="sources" db=0.3ms idle=145.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:33.695 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:13:33.696 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [140290] 02:13:33.696 [debug] Current batch of media processed. Will check again in 1000ms 02:13:34.697 [debug] Current batch of media processed. Will check again in 1000ms 02:13:35.698 [debug] Current batch of media processed. Will check again in 1000ms 02:13:36.699 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården er der virkelig gang i den. Vi starter ugen ud med at have Rasmus Brohave til overnatning - og han får den store rundtur. Sneen er for alvor kommet på besøg og Mikkel har naturligvis travlt med at komme ud i minilæsseren i en fart - og helt frivilligt tager han kameraet med, så i kan se hvordan det foregår at rydde vores meget lange grusvej. Mine forældre er på besøg - og som altid hjælper min mor med noget husligt og min far tilslutter sig Mikkel og byggeriet - jeg laver babymad og så er jeg blevet besat af surdej. Og nårh jo, så er min baby begyndt at sove om natten.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "duration" => 1601, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e030500 - Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79.mkv", "id" => "Th4fpPdHVU0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Th4fpPdHVU0", "playlist_index" => 77, "timestamp" => 1772722858, "title" => "Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79", "upload_date" => "20260305"} 02:13:36.700 [debug] QUERY OK source="sources" db=0.2ms idle=1150.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:36.700 [debug] QUERY OK source="sources" db=0.2ms idle=1150.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:36.701 [debug] QUERY OK source="media_items" db=0.5ms idle=1151.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-05 15:00:58Z], 3] 02:13:36.703 [debug] QUERY OK source="media_items" db=1.0ms idle=1152.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården er der virkelig gang i den. Vi starter ugen ud med at have Rasmus Brohave til overnatning - og han får den store rundtur. Sneen er for alvor kommet på besøg og Mikkel har naturligvis travlt med at komme ud i minilæsseren i en fart - og helt frivilligt tager han kameraet med, så i kan se hvordan det foregår at rydde vores meget lange grusvej. Mine forældre er på besøg - og som altid hjælper min mor med noget husligt og min far tilslutter sig Mikkel og byggeriet - jeg laver babymad og så er jeg blevet besat af surdej. Og nårh jo, så er min baby begyndt at sove om natten.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79", "b5dff4ff-3985-407b-ae2e-524080603e6e", 3, [], 1601, false, "Th4fpPdHVU0", "https://www.youtube.com/watch?v=Th4fpPdHVU0", 77, "/downloads/shows/Livet på gården/Season 2026/s2026e030500 - Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79.mkv", false, false, false, 1, ~U[2026-03-05 15:00:58Z], ~U[2026-04-16 00:13:36Z], ~U[2026-04-16 00:13:36Z], "I dette afsnit af livet på gården er der virkelig gang i den. Vi starter ugen ud med at have Rasmus Brohave til overnatning - og han får den store rundtur. Sneen er for alvor kommet på besøg og Mikkel har naturligvis travlt med at komme ud i minilæsseren i en fart - og helt frivilligt tager han kameraet med, så i kan se hvordan det foregår at rydde vores meget lange grusvej. Mine forældre er på besøg - og som altid hjælper min mor med noget husligt og min far tilslutter sig Mikkel og byggeriet - jeg laver babymad og så er jeg blevet besat af surdej. Og nårh jo, så er min baby begyndt at sove om natten.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79", 3, 1601, false, "Th4fpPdHVU0", "https://www.youtube.com/watch?v=Th4fpPdHVU0", "/downloads/shows/Livet på gården/Season 2026/s2026e030500 - Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79.mkv", false, ~U[2026-03-05 15:00:58Z]] 02:13:36.703 [debug] QUERY OK source="sources" db=0.1ms idle=472.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:36.703 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:13:36.704 [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 [143569] 02:13:36.704 [debug] Current batch of media processed. Will check again in 1000ms 02:13:37.705 [debug] Current batch of media processed. Will check again in 1000ms 02:13:38.706 [debug] Current batch of media processed. Will check again in 1000ms 02:13:39.707 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er mine forældre på besøg og min mor og jeg sætter os for langt om længe at få støbt nogle fugtkasser til mig, som er et uundværligt redskab i keramikværkstedet. Jeg er efter lang tids pause tilbage ved bageriet og kaster mig over nogle virale chokoladeboller - og så har vvs'eren været på for at etablere pexslanger til kold og varm vand, så Mikkel nu kan komme videre med tømrerdelen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "duration" => 1829, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e031200 - Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80.mkv", "id" => "WZAGvRqldgo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WZAGvRqldgo", "playlist_index" => 78, "timestamp" => 1773327658, "title" => "Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80", "upload_date" => "20260312"} 02:13:39.708 [debug] QUERY OK source="sources" db=0.2ms idle=1157.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:39.708 [debug] QUERY OK source="sources" db=0.1ms idle=1158.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:39.709 [debug] QUERY OK source="media_items" db=0.4ms idle=1158.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-12 15:00:58Z], 3] 02:13:39.711 [debug] QUERY OK source="media_items" db=1.0ms idle=1159.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er mine forældre på besøg og min mor og jeg sætter os for langt om længe at få støbt nogle fugtkasser til mig, som er et uundværligt redskab i keramikværkstedet. Jeg er efter lang tids pause tilbage ved bageriet og kaster mig over nogle virale chokoladeboller - og så har vvs'eren været på for at etablere pexslanger til kold og varm vand, så Mikkel nu kan komme videre med tømrerdelen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80", "0832bfa7-5b9a-4d21-8db3-203b2c49e31f", 3, [], 1829, false, "WZAGvRqldgo", "https://www.youtube.com/watch?v=WZAGvRqldgo", 78, "/downloads/shows/Livet på gården/Season 2026/s2026e031200 - Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80.mkv", false, false, false, 1, ~U[2026-03-12 15:00:58Z], ~U[2026-04-16 00:13:39Z], ~U[2026-04-16 00:13:39Z], "I dette afsnit er mine forældre på besøg og min mor og jeg sætter os for langt om længe at få støbt nogle fugtkasser til mig, som er et uundværligt redskab i keramikværkstedet. Jeg er efter lang tids pause tilbage ved bageriet og kaster mig over nogle virale chokoladeboller - og så har vvs'eren været på for at etablere pexslanger til kold og varm vand, så Mikkel nu kan komme videre med tømrerdelen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80", 3, 1829, false, "WZAGvRqldgo", "https://www.youtube.com/watch?v=WZAGvRqldgo", "/downloads/shows/Livet på gården/Season 2026/s2026e031200 - Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80.mkv", false, ~U[2026-03-12 15:00:58Z]] 02:13:39.712 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=477.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:39.712 [debug] QUERY OK source="media_profiles" db=0.6ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:13:39.714 [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 [146839] 02:13:39.714 [debug] Current batch of media processed. Will check again in 1000ms 02:13:40.714 [debug] Current batch of media processed. Will check again in 1000ms 02:13:41.715 [debug] Current batch of media processed. Will check again in 1000ms 02:13:42.716 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit prøver jeg at bage med min surdej for aller første gang - det viser sig jo at være en lang proces, men det jeg tror faktisk det går okay? Mikkel er i fuld gang med at bygge skillevægge på første salen og han tager kameraet med og fortæller hvordan og hvorledes - og laver timelapse af processen. Malene kommer på besøg efter mange måneder - og hvad laver hun egentlig nu? Det runder vi - og så tager vi en status på forretningsdelen i keramikken og snakker om hvordan det går. Og så har jeg lavet kopper til et særligt par. Malene kan ikke gætte hvem de er til - men det kan du måske? \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "duration" => 1440, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e031900 - Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81.mkv", "id" => "wvCb1ystnC0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wvCb1ystnC0", "playlist_index" => 79, "timestamp" => 1773932500, "title" => "Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81", "upload_date" => "20260319"} 02:13:42.717 [debug] QUERY OK source="sources" db=0.2ms idle=1166.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:42.717 [debug] QUERY OK source="sources" db=0.1ms idle=1167.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:42.718 [debug] QUERY OK source="media_items" db=0.3ms idle=1167.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 15:01:40Z], 3] 02:13:42.722 [debug] QUERY OK source="media_items" db=2.7ms idle=1168.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit prøver jeg at bage med min surdej for aller første gang - det viser sig jo at være en lang proces, men det jeg tror faktisk det går okay? Mikkel er i fuld gang med at bygge skillevægge på første salen og han tager kameraet med og fortæller hvordan og hvorledes - og laver timelapse af processen. Malene kommer på besøg efter mange måneder - og hvad laver hun egentlig nu? Det runder vi - og så tager vi en status på forretningsdelen i keramikken og snakker om hvordan det går. Og så har jeg lavet kopper til et særligt par. Malene kan ikke gætte hvem de er til - men det kan du måske? \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81", "6b9da8e9-8b25-426a-9e51-e7412f004408", 3, [], 1440, false, "wvCb1ystnC0", "https://www.youtube.com/watch?v=wvCb1ystnC0", 79, "/downloads/shows/Livet på gården/Season 2026/s2026e031900 - Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81.mkv", false, false, false, 1, ~U[2026-03-19 15:01:40Z], ~U[2026-04-16 00:13:42Z], ~U[2026-04-16 00:13:42Z], "I dette afsnit prøver jeg at bage med min surdej for aller første gang - det viser sig jo at være en lang proces, men det jeg tror faktisk det går okay? Mikkel er i fuld gang med at bygge skillevægge på første salen og han tager kameraet med og fortæller hvordan og hvorledes - og laver timelapse af processen. Malene kommer på besøg efter mange måneder - og hvad laver hun egentlig nu? Det runder vi - og så tager vi en status på forretningsdelen i keramikken og snakker om hvordan det går. Og så har jeg lavet kopper til et særligt par. Malene kan ikke gætte hvem de er til - men det kan du måske? \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81", 3, 1440, false, "wvCb1ystnC0", "https://www.youtube.com/watch?v=wvCb1ystnC0", "/downloads/shows/Livet på gården/Season 2026/s2026e031900 - Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81.mkv", false, ~U[2026-03-19 15:01:40Z]] 02:13:42.722 [debug] QUERY OK source="sources" db=0.2ms idle=479.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:42.723 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:13:42.723 [debug] QUERY OK source="media_items" db=0.2ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [150144] 02:13:42.723 [debug] Current batch of media processed. Will check again in 1000ms 02:13:43.724 [debug] Current batch of media processed. Will check again in 1000ms 02:13:44.725 [debug] Current batch of media processed. Will check again in 1000ms 02:13:45.726 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video har Mikkel for alvor taget mine ord til sig og taget kameraet med ovenpå mens han er i fuld gang med gulvvarmen - han går i detaljer med hvordan han gør og hvilke tanker han har gjort sig om processen. Blandt andet fortæller han hvordan han har valgt at lave et \"svømmende gulv\". Vi er på årets første have vandring og beslutter os for nu at sætte alt ind på at den køkkenhave skal komme til at spille. Alt skal væk og etableres helt på ny!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "duration" => 1393, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e032600 - Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82.mkv", "id" => "pxD1_Ax0eMI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pxD1_Ax0eMI", "playlist_index" => 80, "timestamp" => 1774537291, "title" => "Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82", "upload_date" => "20260326"} 02:13:45.727 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1176.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:45.728 [debug] QUERY OK source="sources" db=0.2ms idle=1177.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:45.728 [debug] QUERY OK source="media_items" db=0.3ms idle=1177.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-26 15:01:31Z], 3] 02:13:45.730 [debug] QUERY OK source="media_items" db=1.0ms idle=1178.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har Mikkel for alvor taget mine ord til sig og taget kameraet med ovenpå mens han er i fuld gang med gulvvarmen - han går i detaljer med hvordan han gør og hvilke tanker han har gjort sig om processen. Blandt andet fortæller han hvordan han har valgt at lave et \"svømmende gulv\". Vi er på årets første have vandring og beslutter os for nu at sætte alt ind på at den køkkenhave skal komme til at spille. Alt skal væk og etableres helt på ny!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82", "59e8d35d-c005-434f-af9c-6631807d44b9", 3, [], 1393, false, "pxD1_Ax0eMI", "https://www.youtube.com/watch?v=pxD1_Ax0eMI", 80, "/downloads/shows/Livet på gården/Season 2026/s2026e032600 - Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82.mkv", false, false, false, 1, ~U[2026-03-26 15:01:31Z], ~U[2026-04-16 00:13:45Z], ~U[2026-04-16 00:13:45Z], "I denne video har Mikkel for alvor taget mine ord til sig og taget kameraet med ovenpå mens han er i fuld gang med gulvvarmen - han går i detaljer med hvordan han gør og hvilke tanker han har gjort sig om processen. Blandt andet fortæller han hvordan han har valgt at lave et \"svømmende gulv\". Vi er på årets første have vandring og beslutter os for nu at sætte alt ind på at den køkkenhave skal komme til at spille. Alt skal væk og etableres helt på ny!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82", 3, 1393, false, "pxD1_Ax0eMI", "https://www.youtube.com/watch?v=pxD1_Ax0eMI", "/downloads/shows/Livet på gården/Season 2026/s2026e032600 - Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82.mkv", false, ~U[2026-03-26 15:01:31Z]] 02:13:45.730 [debug] QUERY OK source="sources" db=0.2ms idle=483.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:45.731 [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] 02:13:45.731 [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 [153491] 02:13:45.732 [debug] Current batch of media processed. Will check again in 1000ms 02:13:46.732 [debug] Current batch of media processed. Will check again in 1000ms 02:13:47.733 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit går vi for alvor igang med den stor omvæltning af køkkenhaven. Vi rydder drivhuset, fjerner alle bedene og jævner jorden så vi kan starte helt forfra. Vi har købt en drone, så som noget nyt er i også med fra luften og kan se hvordan det går når vi kører med minilæsseren, jævner sand ud og lægger helt ny ukrudtsdug. Jeg gør også klar til endnu et keramiksalg og i er med når jeg forbereder og tager billeder af alle sagerne. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "duration" => 1291, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e040200 - Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83.mkv", "id" => "dZk6prUzZkw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dZk6prUzZkw", "playlist_index" => 81, "timestamp" => 1775138455, "title" => "Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83", "upload_date" => "20260402"} 02:13:47.734 [debug] QUERY OK source="sources" db=0.3ms idle=481.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:47.734 [debug] QUERY OK source="sources" db=0.1ms idle=184.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:47.735 [debug] QUERY OK source="media_items" db=0.3ms idle=184.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-02 14:00:55Z], 3] 02:13:47.736 [debug] QUERY OK source="media_items" db=0.8ms idle=185.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit går vi for alvor igang med den stor omvæltning af køkkenhaven. Vi rydder drivhuset, fjerner alle bedene og jævner jorden så vi kan starte helt forfra. Vi har købt en drone, så som noget nyt er i også med fra luften og kan se hvordan det går når vi kører med minilæsseren, jævner sand ud og lægger helt ny ukrudtsdug. Jeg gør også klar til endnu et keramiksalg og i er med når jeg forbereder og tager billeder af alle sagerne. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83", "01521e2c-8639-405d-b8a7-01e84cba122c", 3, [], 1291, false, "dZk6prUzZkw", "https://www.youtube.com/watch?v=dZk6prUzZkw", 81, "/downloads/shows/Livet på gården/Season 2026/s2026e040200 - Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83.mkv", false, false, false, 1, ~U[2026-04-02 14:00:55Z], ~U[2026-04-16 00:13:47Z], ~U[2026-04-16 00:13:47Z], "I dette afsnit går vi for alvor igang med den stor omvæltning af køkkenhaven. Vi rydder drivhuset, fjerner alle bedene og jævner jorden så vi kan starte helt forfra. Vi har købt en drone, så som noget nyt er i også med fra luften og kan se hvordan det går når vi kører med minilæsseren, jævner sand ud og lægger helt ny ukrudtsdug. Jeg gør også klar til endnu et keramiksalg og i er med når jeg forbereder og tager billeder af alle sagerne. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83", 3, 1291, false, "dZk6prUzZkw", "https://www.youtube.com/watch?v=dZk6prUzZkw", "/downloads/shows/Livet på gården/Season 2026/s2026e040200 - Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83.mkv", false, ~U[2026-04-02 14:00:55Z]] 02:13:47.737 [debug] QUERY OK source="sources" db=0.2ms idle=186.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:47.737 [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] 02:13:47.738 [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 [156908] 02:13:47.738 [debug] Current batch of media processed. Will check again in 1000ms 02:13:47.968 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLQJc0AKwP-an6_0X-ZX9pzXAHn5pQXqTd --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Livet på gården/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+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/36/c6/36c6397adb18e5beef90690ee83324e69853b5c5dbb81540bcb2eff4c07d2b3c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:13:47.970 [debug] Gracefully stopping file follower 02:13:47.971 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=235.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:13:47.971 [debug] QUERY OK source="sources" db=0.1ms idle=234.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:47.972 [debug] QUERY OK source="media_items" db=0.4ms idle=234.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-09 08:00:00Z], 3] 02:13:47.973 [debug] QUERY OK source="media_items" db=0.8ms idle=234.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sikke jeg har glædet mig til endelig at kunne dele denne rejse med jer. Vi er flyttet på landet! Jeg er tilbage på youtube og har taget hul på en ny begyndelse - mellem marker, dyr, og alt det andet som følger med at bo på landet. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Rotter og høns på en rasteplads | Livet på gården Ep. 1", "b9080c94-bc8c-4c79-a5fc-4ceaba6a513f", 3, [], 1584, false, "0HQ2lA9SaEw", "https://www.youtube.com/watch?v=0HQ2lA9SaEw", 1, "/downloads/shows/Livet på gården/Season 2024/s2024e050900 - Rotter og høns på en rasteplads | Livet på gården Ep. 1.mp4", false, false, false, 1, ~U[2024-05-09 08:00:00Z], ~U[2026-04-16 00:13:47Z], ~U[2026-04-16 00:13:47Z], "Sikke jeg har glædet mig til endelig at kunne dele denne rejse med jer. Vi er flyttet på landet! Jeg er tilbage på youtube og har taget hul på en ny begyndelse - mellem marker, dyr, og alt det andet som følger med at bo på landet. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Rotter og høns på en rasteplads | Livet på gården Ep. 1", 3, 1584, false, "0HQ2lA9SaEw", "https://www.youtube.com/watch?v=0HQ2lA9SaEw", "/downloads/shows/Livet på gården/Season 2024/s2024e050900 - Rotter og høns på en rasteplads | Livet på gården Ep. 1.mp4", false, ~U[2024-05-09 08:00:00Z]] 02:13:47.974 [debug] QUERY OK source="sources" db=0.2ms idle=235.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:47.974 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-16 14:00:32Z], 3] 02:13:47.976 [debug] QUERY OK source="media_items" db=0.8ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit henter vi vores hund Carla, begynder for alvor at pille huset fra hinanden og meget mere. Tak fordi du vil se med. Det betyder mere end du aner!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kriistinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får en hundehvalp | Livet på gården Ep. 2", "29ecc5fc-a3c4-4e3d-9527-d57bcb6dac11", 3, [], 1514, false, "TsAkJcpR_Io", "https://www.youtube.com/watch?v=TsAkJcpR_Io", 2, "/downloads/shows/Livet på gården/Season 2024/s2024e051600 - Vi får en hundehvalp | Livet på gården Ep. 2.mp4", false, false, false, 1, ~U[2024-05-16 14:00:32Z], ~U[2026-04-16 00:13:47Z], ~U[2026-04-16 00:13:47Z], "I dette afsnit henter vi vores hund Carla, begynder for alvor at pille huset fra hinanden og meget mere. Tak fordi du vil se med. Det betyder mere end du aner!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kriistinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får en hundehvalp | Livet på gården Ep. 2", 3, 1514, false, "TsAkJcpR_Io", "https://www.youtube.com/watch?v=TsAkJcpR_Io", "/downloads/shows/Livet på gården/Season 2024/s2024e051600 - Vi får en hundehvalp | Livet på gården Ep. 2.mp4", false, ~U[2024-05-16 14:00:32Z]] 02:13:47.976 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:47.977 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-23 14:00:44Z], 3] 02:13:47.978 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dagens afsnit er der mangel på overskud, og en hulens masse sand. Tak fordi du ser med \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi graver ud i huset | Livet på gården Ep.3", "130d053b-ebe1-4f60-b638-9c1295ecc64c", 3, [], 1483, false, "mzYiI1eVSe8", "https://www.youtube.com/watch?v=mzYiI1eVSe8", 3, "/downloads/shows/Livet på gården/Season 2024/s2024e052300 - Vi graver ud i huset | Livet på gården Ep.3.mp4", false, false, false, 1, ~U[2024-05-23 14:00:44Z], ~U[2026-04-16 00:13:47Z], ~U[2026-04-16 00:13:47Z], "I dagens afsnit er der mangel på overskud, og en hulens masse sand. Tak fordi du ser med \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi graver ud i huset | Livet på gården Ep.3", 3, 1483, false, "mzYiI1eVSe8", "https://www.youtube.com/watch?v=mzYiI1eVSe8", "/downloads/shows/Livet på gården/Season 2024/s2024e052300 - Vi graver ud i huset | Livet på gården Ep.3.mp4", false, ~U[2024-05-23 14:00:44Z]] 02:13:47.978 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:47.979 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-30 14:00:02Z], 3] 02:13:47.980 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dagens afsnit bryder en hest ind i den lille ladelejlighed, der har været ubehageligt besøg i hønsehuset og så er der for alvor kommet gang i køkkenhaven. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "En hest i stuen og døde høns | Livet på gården Ep. 4", "17a1fe15-7513-43bc-957f-bb8ddd402f1c", 3, [], 2520, false, "0jEgoy_T4E4", "https://www.youtube.com/watch?v=0jEgoy_T4E4", 4, "/downloads/shows/Livet på gården/Season 2024/s2024e053000 - En hest i stuen og døde høns | Livet på gården Ep. 4.mp4", false, false, false, 1, ~U[2024-05-30 14:00:02Z], ~U[2026-04-16 00:13:47Z], ~U[2026-04-16 00:13:47Z], "I dagens afsnit bryder en hest ind i den lille ladelejlighed, der har været ubehageligt besøg i hønsehuset og så er der for alvor kommet gang i køkkenhaven. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "En hest i stuen og døde høns | Livet på gården Ep. 4", 3, 2520, false, "0jEgoy_T4E4", "https://www.youtube.com/watch?v=0jEgoy_T4E4", "/downloads/shows/Livet på gården/Season 2024/s2024e053000 - En hest i stuen og døde høns | Livet på gården Ep. 4.mp4", false, ~U[2024-05-30 14:00:02Z]] 02:13:47.981 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:47.981 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-06 14:00:57Z], 3] 02:13:47.982 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit får vores høne Karen kyllinger, vi renoverer stadig derudaf og så får vi leveret køkken. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får kyllinger og køkken | Livet på gården Ep.5", "5a76187f-a30d-440f-b8f8-c5dfe604c360", 3, [], 2357, false, "w_MEeum-cxQ", "https://www.youtube.com/watch?v=w_MEeum-cxQ", 5, "/downloads/shows/Livet på gården/Season 2024/s2024e060600 - Vi får kyllinger og køkken | Livet på gården Ep.5.mp4", false, false, false, 1, ~U[2024-06-06 14:00:57Z], ~U[2026-04-16 00:13:47Z], ~U[2026-04-16 00:13:47Z], "I dette afsnit får vores høne Karen kyllinger, vi renoverer stadig derudaf og så får vi leveret køkken. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får kyllinger og køkken | Livet på gården Ep.5", 3, 2357, false, "w_MEeum-cxQ", "https://www.youtube.com/watch?v=w_MEeum-cxQ", "/downloads/shows/Livet på gården/Season 2024/s2024e060600 - Vi får kyllinger og køkken | Livet på gården Ep.5.mp4", false, ~U[2024-06-06 14:00:57Z]] 02:13:47.983 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:47.983 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-13 14:00:14Z], 3] 02:13:47.985 [debug] QUERY OK source="media_items" db=0.7ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode kan man roligt sige at der er kaos på gården. Midt i renoveringen får vi besøg af flere millioner blodmider, som er ved at suge blod fra alle hønsene. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6", "92a710a3-4f19-4485-b17b-173ca6a86bf8", 3, [], 1911, false, "LgpqgWbzuiM", "https://www.youtube.com/watch?v=LgpqgWbzuiM", 6, "/downloads/shows/Livet på gården/Season 2024/s2024e061300 - Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6.mp4", false, false, false, 1, ~U[2024-06-13 14:00:14Z], ~U[2026-04-16 00:13:47Z], ~U[2026-04-16 00:13:47Z], "I denne episode kan man roligt sige at der er kaos på gården. Midt i renoveringen får vi besøg af flere millioner blodmider, som er ved at suge blod fra alle hønsene. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6", 3, 1911, false, "LgpqgWbzuiM", "https://www.youtube.com/watch?v=LgpqgWbzuiM", "/downloads/shows/Livet på gården/Season 2024/s2024e061300 - Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6.mp4", false, ~U[2024-06-13 14:00:14Z]] 02:13:47.985 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:47.986 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-20 14:00:44Z], 3] 02:13:47.987 [debug] QUERY OK source="media_items" db=0.7ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der mere kaos, både da vores heste stikker af om natten og en meget tung bordplade skal på plads. Og så er Mikkel udkørt. Meget udkørt.\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vores heste stikker af | Livet på gården Ep. 7", "13f027b3-d7ab-4d77-9436-8d038a424ea7", 3, [], 1808, false, "tPMYODqzWfI", "https://www.youtube.com/watch?v=tPMYODqzWfI", 7, "/downloads/shows/Livet på gården/Season 2024/s2024e062000 - Vores heste stikker af | Livet på gården Ep. 7.mp4", false, false, false, 1, ~U[2024-06-20 14:00:44Z], ~U[2026-04-16 00:13:47Z], ~U[2026-04-16 00:13:47Z], "I dette afsnit er der mere kaos, både da vores heste stikker af om natten og en meget tung bordplade skal på plads. Og så er Mikkel udkørt. Meget udkørt.\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vores heste stikker af | Livet på gården Ep. 7", 3, 1808, false, "tPMYODqzWfI", "https://www.youtube.com/watch?v=tPMYODqzWfI", "/downloads/shows/Livet på gården/Season 2024/s2024e062000 - Vores heste stikker af | Livet på gården Ep. 7.mp4", false, ~U[2024-06-20 14:00:44Z]] 02:13:47.987 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:47.988 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-27 14:00:03Z], 3] 02:13:47.989 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der vand OVERALT, heste flytter hjemmefra og så får vi virkelig rykket på sager i huset - hvilket er meget tiltrængt, da vinteren nærmer sig med hastige skridt. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8", "46820e78-697f-4725-a9d2-9d88318f18b0", 3, [], 2043, false, "5w4Zkb-V2fE", "https://www.youtube.com/watch?v=5w4Zkb-V2fE", 8, "/downloads/shows/Livet på gården/Season 2024/s2024e062700 - Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8.mp4", false, false, false, 1, ~U[2024-06-27 14:00:03Z], ~U[2026-04-16 00:13:47Z], ~U[2026-04-16 00:13:47Z], "I dette afsnit er der vand OVERALT, heste flytter hjemmefra og så får vi virkelig rykket på sager i huset - hvilket er meget tiltrængt, da vinteren nærmer sig med hastige skridt. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8", 3, 2043, false, "5w4Zkb-V2fE", "https://www.youtube.com/watch?v=5w4Zkb-V2fE", "/downloads/shows/Livet på gården/Season 2024/s2024e062700 - Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8.mp4", false, ~U[2024-06-27 14:00:03Z]] 02:13:47.990 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:47.990 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-04 14:00:14Z], 3] 02:13:47.992 [debug] QUERY OK source="media_items" db=0.8ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit runder vi har for denne gang, flytter ind i huset og viser rundt.\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "House tour | Livet på gården Ep. 9", "e0a9705e-a008-46ad-92f4-889d079aca62", 3, [], 2059, false, "KotEK3OaF80", "https://www.youtube.com/watch?v=KotEK3OaF80", 9, "/downloads/shows/Livet på gården/Season 2024/s2024e070400 - House tour | Livet på gården Ep. 9.mp4", false, false, false, 1, ~U[2024-07-04 14:00:14Z], ~U[2026-04-16 00:13:47Z], ~U[2026-04-16 00:13:47Z], "I dette afsnit runder vi har for denne gang, flytter ind i huset og viser rundt.\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "House tour | Livet på gården Ep. 9", 3, 2059, false, "KotEK3OaF80", "https://www.youtube.com/watch?v=KotEK3OaF80", "/downloads/shows/Livet på gården/Season 2024/s2024e070400 - House tour | Livet på gården Ep. 9.mp4", false, ~U[2024-07-04 14:00:14Z]] 02:13:47.992 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:47.993 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-18 14:00:09Z], 3] 02:13:47.994 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har vi desværre haft besøg af måren som har taget liv af næsten alle vores høns, jeg udruger kyllinger i rugemaskine og så er der så småt ved at være gang i haven i det tidlige forår. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Måren har dræbt vores høns | Livet på gården Ep. 10", "48513058-dd0e-4c0f-9cb6-e1a7ee0fb800", 3, [], 1462, false, "ACbhu-bCkCs", "https://www.youtube.com/watch?v=ACbhu-bCkCs", 10, "/downloads/shows/Livet på gården/Season 2024/s2024e071800 - Måren har dræbt vores høns | Livet på gården Ep. 10.mp4", false, false, false, 1, ~U[2024-07-18 14:00:09Z], ~U[2026-04-16 00:13:47Z], ~U[2026-04-16 00:13:47Z], "I dette afsnit har vi desværre haft besøg af måren som har taget liv af næsten alle vores høns, jeg udruger kyllinger i rugemaskine og så er der så småt ved at være gang i haven i det tidlige forår. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Måren har dræbt vores høns | Livet på gården Ep. 10", 3, 1462, false, "ACbhu-bCkCs", "https://www.youtube.com/watch?v=ACbhu-bCkCs", "/downloads/shows/Livet på gården/Season 2024/s2024e071800 - Måren har dræbt vores høns | Livet på gården Ep. 10.mp4", false, ~U[2024-07-18 14:00:09Z]] 02:13:47.994 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:47.995 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-25 14:00:21Z], 3] 02:13:47.996 [debug] QUERY OK source="media_items" db=0.8ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit står hønsehuset endelig færdigt og der flytter nye damer ind i gården. Der er ogs fuld fart på rugemaskinen, dog med dårligt held. Og så er vi ved at gøre haven klar til sæsonen. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nye høns og havearbejde | Livet på gården Ep. 11", "fdcbb039-8761-4374-9e23-ba920f8f4207", 3, [], 1666, false, "Sk2CUC0pUsw", "https://www.youtube.com/watch?v=Sk2CUC0pUsw", 11, "/downloads/shows/Livet på gården/Season 2024/s2024e072500 - Nye høns og havearbejde | Livet på gården Ep. 11.mp4", false, false, false, 1, ~U[2024-07-25 14:00:21Z], ~U[2026-04-16 00:13:47Z], ~U[2026-04-16 00:13:47Z], "I dette afsnit står hønsehuset endelig færdigt og der flytter nye damer ind i gården. Der er ogs fuld fart på rugemaskinen, dog med dårligt held. Og så er vi ved at gøre haven klar til sæsonen. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nye høns og havearbejde | Livet på gården Ep. 11", 3, 1666, false, "Sk2CUC0pUsw", "https://www.youtube.com/watch?v=Sk2CUC0pUsw", "/downloads/shows/Livet på gården/Season 2024/s2024e072500 - Nye høns og havearbejde | Livet på gården Ep. 11.mp4", false, ~U[2024-07-25 14:00:21Z]] 02:13:47.997 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:47.997 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-01 14:00:42Z], 3] 02:13:47.998 [debug] QUERY OK source="media_items" db=0.6ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har jeg fuld gang i forspiringen, vi laver højbede og har taget en stor beslutning omkring vores 2 heste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Heste og højbede | Livet på gården Ep. 12", "24f4af8c-7717-4b51-9571-1f31be5c4c67", 3, [], 1747, false, "npE-BTzFMWc", "https://www.youtube.com/watch?v=npE-BTzFMWc", 12, "/downloads/shows/Livet på gården/Season 2024/s2024e080100 - Heste og højbede | Livet på gården Ep. 12.mp4", false, false, false, 1, ~U[2024-08-01 14:00:42Z], ~U[2026-04-16 00:13:47Z], ~U[2026-04-16 00:13:47Z], "I denne video har jeg fuld gang i forspiringen, vi laver højbede og har taget en stor beslutning omkring vores 2 heste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Heste og højbede | Livet på gården Ep. 12", 3, 1747, false, "npE-BTzFMWc", "https://www.youtube.com/watch?v=npE-BTzFMWc", "/downloads/shows/Livet på gården/Season 2024/s2024e080100 - Heste og højbede | Livet på gården Ep. 12.mp4", false, ~U[2024-08-01 14:00:42Z]] 02:13:47.999 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.000 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-08 14:00:44Z], 3] 02:13:48.001 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har vi taget en stor beslutning om at der skal flytte nye firebenede ind på marken, og vores kat Willy har kræft i øjet - og får det fjernet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13", "ce2bd42f-a77f-44c8-b9c3-d7d5652cb1bf", 3, [], 1645, false, "mBkf-1EFsdE", "https://www.youtube.com/watch?v=mBkf-1EFsdE", 13, "/downloads/shows/Livet på gården/Season 2024/s2024e080800 - Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13.mp4", false, false, false, 1, ~U[2024-08-08 14:00:44Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit har vi taget en stor beslutning om at der skal flytte nye firebenede ind på marken, og vores kat Willy har kræft i øjet - og får det fjernet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13", 3, 1645, false, "mBkf-1EFsdE", "https://www.youtube.com/watch?v=mBkf-1EFsdE", "/downloads/shows/Livet på gården/Season 2024/s2024e080800 - Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13.mp4", false, ~U[2024-08-08 14:00:44Z]] 02:13:48.001 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.002 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-15 14:00:16Z], 3] 02:13:48.004 [debug] QUERY OK source="media_items" db=1.8ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit får vi endelig grise, Felix er på besøg og jeg har nogle lidt svære dage. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "VI HAR FÅET GRISE! | Livet på gården Ep. 14", "45418bf1-66a7-440d-9bc4-f842023501f2", 3, [], 1651, false, "EKIo-bTmT5I", "https://www.youtube.com/watch?v=EKIo-bTmT5I", 14, "/downloads/shows/Livet på gården/Season 2024/s2024e081500 - VI HAR FÅET GRISE! | Livet på gården Ep. 14.mp4", false, false, false, 1, ~U[2024-08-15 14:00:16Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit får vi endelig grise, Felix er på besøg og jeg har nogle lidt svære dage. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "VI HAR FÅET GRISE! | Livet på gården Ep. 14", 3, 1651, false, "EKIo-bTmT5I", "https://www.youtube.com/watch?v=EKIo-bTmT5I", "/downloads/shows/Livet på gården/Season 2024/s2024e081500 - VI HAR FÅET GRISE! | Livet på gården Ep. 14.mp4", false, ~U[2024-08-15 14:00:16Z]] 02:13:48.005 [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" = ?) [3] 02:13:48.005 [debug] QUERY OK source="media_items" db=0.3ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-22 14:00:53Z], 3] 02:13:48.007 [debug] QUERY OK source="media_items" db=0.7ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har jeg nogle dårlige dage, jeg taler om mine diagnose, og så er der kommet godt gang i køkkenhaven - og dræbersneglene. Derudover må jeg tage livet af en kylling, fordi de andre er nogle bæster. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Diagnose og dræbersnegle | Livet på gården Ep. 15", "a581f6a4-4010-494a-99b0-7b7d423f2ed5", 3, [], 1505, false, "tVgdZ9ycitU", "https://www.youtube.com/watch?v=tVgdZ9ycitU", 15, "/downloads/shows/Livet på gården/Season 2024/s2024e082200 - Diagnose og dræbersnegle | Livet på gården Ep. 15.mp4", false, false, false, 1, ~U[2024-08-22 14:00:53Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I denne video har jeg nogle dårlige dage, jeg taler om mine diagnose, og så er der kommet godt gang i køkkenhaven - og dræbersneglene. Derudover må jeg tage livet af en kylling, fordi de andre er nogle bæster. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Diagnose og dræbersnegle | Livet på gården Ep. 15", 3, 1505, false, "tVgdZ9ycitU", "https://www.youtube.com/watch?v=tVgdZ9ycitU", "/downloads/shows/Livet på gården/Season 2024/s2024e082200 - Diagnose og dræbersnegle | Livet på gården Ep. 15.mp4", false, ~U[2024-08-22 14:00:53Z]] 02:13:48.007 [debug] QUERY OK source="sources" db=0.1ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.008 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-29 14:00:26Z], 3] 02:13:48.009 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer der 5 nye liv til verden, når Connie føder sine små griseunger, vi gør klar til sankt hans og så har vi fået et nyt projekt, nemlig at renovere det gamle fyrrum om til keramikværksted.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Grisefødsel og sankt hans på gården | Livet på gården Ep. 16", "c624d3e5-fc07-4d2e-b0dc-9f86348df1c5", 3, [], 1871, false, "X-mJfUiB8oE", "https://www.youtube.com/watch?v=X-mJfUiB8oE", 16, "/downloads/shows/Livet på gården/Season 2024/s2024e082900 - Grisefødsel og sankt hans på gården | Livet på gården Ep. 16.mp4", false, false, false, 1, ~U[2024-08-29 14:00:26Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit kommer der 5 nye liv til verden, når Connie føder sine små griseunger, vi gør klar til sankt hans og så har vi fået et nyt projekt, nemlig at renovere det gamle fyrrum om til keramikværksted.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Grisefødsel og sankt hans på gården | Livet på gården Ep. 16", 3, 1871, false, "X-mJfUiB8oE", "https://www.youtube.com/watch?v=X-mJfUiB8oE", "/downloads/shows/Livet på gården/Season 2024/s2024e082900 - Grisefødsel og sankt hans på gården | Livet på gården Ep. 16.mp4", false, ~U[2024-08-29 14:00:26Z]] 02:13:48.009 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.010 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-19 14:00:08Z], 3] 02:13:48.011 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit sætter jeg mit keramik til salg for anden gang, med kæmpe sommerfugle i maven, jeg kører akut hjem fra en fødselsdag fordi det ligner at Helle er ved at føde - og så starter vi renoveringen af det nye værksted!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Keramiksalg og nyt værksted | Livet på gården Ep. 19", "5ad90401-3811-4abd-8773-ef77cf29502c", 3, [], 1643, false, "ACPmnpI3fvU", "https://www.youtube.com/watch?v=ACPmnpI3fvU", 17, "/downloads/shows/Livet på gården/Season 2024/s2024e091900 - Keramiksalg og nyt værksted | Livet på gården Ep. 19.mp4", false, false, false, 1, ~U[2024-09-19 14:00:08Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit sætter jeg mit keramik til salg for anden gang, med kæmpe sommerfugle i maven, jeg kører akut hjem fra en fødselsdag fordi det ligner at Helle er ved at føde - og så starter vi renoveringen af det nye værksted!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Keramiksalg og nyt værksted | Livet på gården Ep. 19", 3, 1643, false, "ACPmnpI3fvU", "https://www.youtube.com/watch?v=ACPmnpI3fvU", "/downloads/shows/Livet på gården/Season 2024/s2024e091900 - Keramiksalg og nyt værksted | Livet på gården Ep. 19.mp4", false, ~U[2024-09-19 14:00:08Z]] 02:13:48.012 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.012 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-12 14:01:03Z], 3] 02:13:48.013 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for IKEA.\n\nI denne video handler det om søvn og soveværelse. IKEA har nemlig spurgt mig om ikke jeg kunne have lyst til at få bygget vores kommende soveværelse i deres showroom i Aalborg. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBusiness mail: business@kristinesloth.dk", "Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18", "eea6e197-bd75-41fb-a993-1123199a4289", 3, [], 1387, false, "yzoiqawrf90", "https://www.youtube.com/watch?v=yzoiqawrf90", 18, "/downloads/shows/Livet på gården/Season 2024/s2024e091200 - Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18.mp4", false, false, false, 1, ~U[2024-09-12 14:01:03Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "Denne video indeholder reklame for IKEA.\n\nI denne video handler det om søvn og soveværelse. IKEA har nemlig spurgt mig om ikke jeg kunne have lyst til at få bygget vores kommende soveværelse i deres showroom i Aalborg. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBusiness mail: business@kristinesloth.dk", "Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18", 3, 1387, false, "yzoiqawrf90", "https://www.youtube.com/watch?v=yzoiqawrf90", "/downloads/shows/Livet på gården/Season 2024/s2024e091200 - Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18.mp4", false, ~U[2024-09-12 14:01:03Z]] 02:13:48.014 [debug] QUERY OK source="sources" db=0.1ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.014 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-03 14:00:34Z], 3] 02:13:48.016 [debug] QUERY OK source="media_items" db=0.8ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit besøger jeg for første gang dyrenes beskyttelse som ambassadør. En hel dag fyldt med magiske dyr, der bare drømmer om at nogen vil have dem til at bo hos sig. Jeg havde taget dem alle sammen hvis jeg måtte for Mikkel. \n\nDu kan læse mere om dyrenes beskyttelse og deres arbejde, samt se alle de dyr der er til adoption lige her: https://www.dyrenesbeskyttelse.dk/\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En hel dag på dyreinternat | Livet på gården Ep. 21", "94a5432d-f4ae-4f24-94b9-9a0685ea3782", 3, [], 1742, false, "UlJfAh2C0fE", "https://www.youtube.com/watch?v=UlJfAh2C0fE", 19, "/downloads/shows/Livet på gården/Season 2024/s2024e100300 - En hel dag på dyreinternat | Livet på gården Ep. 21.mp4", false, false, false, 1, ~U[2024-10-03 14:00:34Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit besøger jeg for første gang dyrenes beskyttelse som ambassadør. En hel dag fyldt med magiske dyr, der bare drømmer om at nogen vil have dem til at bo hos sig. Jeg havde taget dem alle sammen hvis jeg måtte for Mikkel. \n\nDu kan læse mere om dyrenes beskyttelse og deres arbejde, samt se alle de dyr der er til adoption lige her: https://www.dyrenesbeskyttelse.dk/\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En hel dag på dyreinternat | Livet på gården Ep. 21", 3, 1742, false, "UlJfAh2C0fE", "https://www.youtube.com/watch?v=UlJfAh2C0fE", "/downloads/shows/Livet på gården/Season 2024/s2024e100300 - En hel dag på dyreinternat | Livet på gården Ep. 21.mp4", false, ~U[2024-10-03 14:00:34Z]] 02:13:48.016 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.017 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-10 14:00:09Z], 3] 02:13:48.018 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit får vi sat det sidste præg på værkstedet, og Mikkel får sin vilje og maler den skrigepink over med beige. Malene og jeg har som opgave at indrette og gøre det brugbart - og faktisk ender det med at blive virkelig godt. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22", "5e6d84c3-75f4-480d-b994-9aa2d1c7608b", 3, [], 1514, false, "5fUjlgO0xVU", "https://www.youtube.com/watch?v=5fUjlgO0xVU", 20, "/downloads/shows/Livet på gården/Season 2024/s2024e101000 - Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22.mp4", false, false, false, 1, ~U[2024-10-10 14:00:09Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit får vi sat det sidste præg på værkstedet, og Mikkel får sin vilje og maler den skrigepink over med beige. Malene og jeg har som opgave at indrette og gøre det brugbart - og faktisk ender det med at blive virkelig godt. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22", 3, 1514, false, "5fUjlgO0xVU", "https://www.youtube.com/watch?v=5fUjlgO0xVU", "/downloads/shows/Livet på gården/Season 2024/s2024e101000 - Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22.mp4", false, ~U[2024-10-10 14:00:09Z]] 02:13:48.018 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.019 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-17 14:00:04Z], 3] 02:13:48.020 [debug] QUERY OK source="media_items" db=0.6ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i med igennem hele processen af hvordan jeg laver mit keramik.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Lav keramik med mig - fra start til slut | Livet på gården Ep. 23", "cf93cf1c-9b56-4a07-9ec7-a1506c965d9d", 3, [], 1892, false, "1FSZw5q8Zaw", "https://www.youtube.com/watch?v=1FSZw5q8Zaw", 21, "/downloads/shows/Livet på gården/Season 2024/s2024e101700 - Lav keramik med mig - fra start til slut | Livet på gården Ep. 23.mp4", false, false, false, 1, ~U[2024-10-17 14:00:04Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit kommer i med igennem hele processen af hvordan jeg laver mit keramik.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Lav keramik med mig - fra start til slut | Livet på gården Ep. 23", 3, 1892, false, "1FSZw5q8Zaw", "https://www.youtube.com/watch?v=1FSZw5q8Zaw", "/downloads/shows/Livet på gården/Season 2024/s2024e101700 - Lav keramik med mig - fra start til slut | Livet på gården Ep. 23.mp4", false, ~U[2024-10-17 14:00:04Z]] 02:13:48.020 [debug] QUERY OK source="sources" db=0.2ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.021 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-24 14:00:05Z], 3] 02:13:48.022 [debug] QUERY OK source="media_items" db=0.7ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er Felix på besøg og hjælper til med at tømme keramikovnen, vores store orpington skrukker og køkkenhaven er begyndt at give grøntsager - dog meget sparsomt, da sommeren i år har været fyldt med køkkenhave-fjender. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24", "1deac0b9-d38f-4d48-b29e-b6f9650bca5f", 3, [], 2101, false, "6vrGogQTGw8", "https://www.youtube.com/watch?v=6vrGogQTGw8", 22, "/downloads/shows/Livet på gården/Season 2024/s2024e102400 - Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24.mp4", false, false, false, 1, ~U[2024-10-24 14:00:05Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit er Felix på besøg og hjælper til med at tømme keramikovnen, vores store orpington skrukker og køkkenhaven er begyndt at give grøntsager - dog meget sparsomt, da sommeren i år har været fyldt med køkkenhave-fjender. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24", 3, 2101, false, "6vrGogQTGw8", "https://www.youtube.com/watch?v=6vrGogQTGw8", "/downloads/shows/Livet på gården/Season 2024/s2024e102400 - Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24.mp4", false, ~U[2024-10-24 14:00:05Z]] 02:13:48.023 [debug] QUERY OK source="sources" db=0.2ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.023 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-26 14:57:22Z], 3] 02:13:48.025 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vi skal være forældre ❤️\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit)", "3573d273-2305-42b8-bb88-001b4c4adf27", 3, [], 1195, false, "fszG4EUNQSw", "https://www.youtube.com/watch?v=fszG4EUNQSw", 23, "/downloads/shows/Livet på gården/Season 2024/s2024e102600 - Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit).mp4", false, false, false, 1, ~U[2024-10-26 14:57:22Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "Vi skal være forældre ❤️\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit)", 3, 1195, false, "fszG4EUNQSw", "https://www.youtube.com/watch?v=fszG4EUNQSw", "/downloads/shows/Livet på gården/Season 2024/s2024e102600 - Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit).mp4", false, ~U[2024-10-26 14:57:22Z]] 02:13:48.025 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.026 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-31 15:01:02Z], 3] 02:13:48.027 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video fortæller vi mange af dem vi elsker at vi skal være forældre!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26", "b26f46c9-e8d6-456c-ad0e-a916d18e326d", 3, [], 845, false, "knLNbZN-U8I", "https://www.youtube.com/watch?v=knLNbZN-U8I", 24, "/downloads/shows/Livet på gården/Season 2024/s2024e103100 - Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26.mp4", false, false, false, 1, ~U[2024-10-31 15:01:02Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I denne video fortæller vi mange af dem vi elsker at vi skal være forældre!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26", 3, 845, false, "knLNbZN-U8I", "https://www.youtube.com/watch?v=knLNbZN-U8I", "/downloads/shows/Livet på gården/Season 2024/s2024e103100 - Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26.mp4", false, ~U[2024-10-31 15:01:02Z]] 02:13:48.027 [debug] QUERY OK source="sources" db=0.2ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.028 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-07 15:00:19Z], 3] 02:13:48.029 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er jeg kommet til at købe nye høns igen, fordi 21 ikke var nok, og Mikkel henter dem med mig. Vores ene gris er blevet døv, og så er der fuld gang i den, i keramik værkstedet med pat-kopper og ovntømning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27", "c17b557d-f76b-4923-96de-668d0b53cbe7", 3, [], 1621, false, "JyiMi5ofXPw", "https://www.youtube.com/watch?v=JyiMi5ofXPw", 25, "/downloads/shows/Livet på gården/Season 2024/s2024e110700 - Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27.mp4", false, false, false, 1, ~U[2024-11-07 15:00:19Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit er jeg kommet til at købe nye høns igen, fordi 21 ikke var nok, og Mikkel henter dem med mig. Vores ene gris er blevet døv, og så er der fuld gang i den, i keramik værkstedet med pat-kopper og ovntømning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27", 3, 1621, false, "JyiMi5ofXPw", "https://www.youtube.com/watch?v=JyiMi5ofXPw", "/downloads/shows/Livet på gården/Season 2024/s2024e110700 - Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27.mp4", false, ~U[2024-11-07 15:00:19Z]] 02:13:48.030 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.030 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-14 15:00:51Z], 3] 02:13:48.036 [debug] QUERY OK source="media_items" db=5.6ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi en kort tur i IKEA, pludseligt og voldsomt bliver en af vores små grise syge og må aflives - det samme få dage efter, og vi kender ikke årsagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Døde grise og kæmpe krise | Livet på gården Ep. 28", "08cfff38-166e-4fed-af85-cb5658d0e2cd", 3, [], 1506, false, "jEs2qt9f4cQ", "https://www.youtube.com/watch?v=jEs2qt9f4cQ", 26, "/downloads/shows/Livet på gården/Season 2024/s2024e111400 - Døde grise og kæmpe krise | Livet på gården Ep. 28.mp4", false, false, false, 1, ~U[2024-11-14 15:00:51Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit er vi en kort tur i IKEA, pludseligt og voldsomt bliver en af vores små grise syge og må aflives - det samme få dage efter, og vi kender ikke årsagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Døde grise og kæmpe krise | Livet på gården Ep. 28", 3, 1506, false, "jEs2qt9f4cQ", "https://www.youtube.com/watch?v=jEs2qt9f4cQ", "/downloads/shows/Livet på gården/Season 2024/s2024e111400 - Døde grise og kæmpe krise | Livet på gården Ep. 28.mp4", false, ~U[2024-11-14 15:00:51Z]] 02:13:48.037 [debug] QUERY OK source="sources" db=0.3ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.038 [debug] QUERY OK source="media_items" db=0.3ms idle=8.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-21 15:00:26Z], 3] 02:13:48.039 [debug] QUERY OK source="media_items" db=0.7ms idle=8.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der en høne som er blevet syg, og er flyttet ind i stuen til Mikkel kommer hjem og må klare sagerne. Hvidløgene skal i jorden inden frosten, og så er der flytter rotter ind på loftet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29", "869f2f85-9343-4bab-a490-d81108beef2c", 3, [], 1529, false, "RfFqKyedfAE", "https://www.youtube.com/watch?v=RfFqKyedfAE", 27, "/downloads/shows/Livet på gården/Season 2024/s2024e112100 - Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29.mp4", false, false, false, 1, ~U[2024-11-21 15:00:26Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit er der en høne som er blevet syg, og er flyttet ind i stuen til Mikkel kommer hjem og må klare sagerne. Hvidløgene skal i jorden inden frosten, og så er der flytter rotter ind på loftet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29", 3, 1529, false, "RfFqKyedfAE", "https://www.youtube.com/watch?v=RfFqKyedfAE", "/downloads/shows/Livet på gården/Season 2024/s2024e112100 - Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29.mp4", false, ~U[2024-11-21 15:00:26Z]] 02:13:48.039 [debug] QUERY OK source="sources" db=0.4ms idle=8.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.040 [debug] QUERY OK source="media_items" db=0.4ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-28 15:00:36Z], 3] 02:13:48.041 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der endnu engang ikke held ved grisene. Vores elskede Connie har fået en stor byld og er generelt svag. Rotterne har invarderet gården - og Mikkels tanker, og så begynder vi så småt at gøre os tanker om renoveringen af overetagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30", "9c2874e4-e37a-46b4-8b93-003ceb467778", 3, [], 1708, false, "X73rI43iuD4", "https://www.youtube.com/watch?v=X73rI43iuD4", 28, "/downloads/shows/Livet på gården/Season 2024/s2024e112800 - En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30.mp4", false, false, false, 1, ~U[2024-11-28 15:00:36Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit er der endnu engang ikke held ved grisene. Vores elskede Connie har fået en stor byld og er generelt svag. Rotterne har invarderet gården - og Mikkels tanker, og så begynder vi så småt at gøre os tanker om renoveringen af overetagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30", 3, 1708, false, "X73rI43iuD4", "https://www.youtube.com/watch?v=X73rI43iuD4", "/downloads/shows/Livet på gården/Season 2024/s2024e112800 - En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30.mp4", false, ~U[2024-11-28 15:00:36Z]] 02:13:48.042 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.042 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-02 15:00:53Z], 3] 02:13:48.043 [debug] QUERY OK source="media_items" db=0.6ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores grise stikker af | Livet på gården Ep. 31", "997d9127-6277-43b9-b809-a0902804f1f9", 3, [], 1586, false, "mdvG-5UJYRw", "https://www.youtube.com/watch?v=mdvG-5UJYRw", 29, "/downloads/shows/Livet på gården/Season 2025/s2025e010200 - Vores grise stikker af | Livet på gården Ep. 31.mp4", false, false, false, 1, ~U[2025-01-02 15:00:53Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores grise stikker af | Livet på gården Ep. 31", 3, 1586, false, "mdvG-5UJYRw", "https://www.youtube.com/watch?v=mdvG-5UJYRw", "/downloads/shows/Livet på gården/Season 2025/s2025e010200 - Vores grise stikker af | Livet på gården Ep. 31.mp4", false, ~U[2025-01-02 15:00:53Z]] 02:13:48.044 [debug] QUERY OK source="sources" db=0.1ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.045 [debug] QUERY OK source="media_items" db=0.5ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-09 15:01:02Z], 3] 02:13:48.046 [debug] QUERY OK source="media_items" db=0.8ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video er vi til 20 ugers scanning med en sund og rask baby, og finder ud af hvad kønnet er. Vi køber nyt spisebord, får nye æggefarver, opdager en ny hane og så har jeg nesting syndrom.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32", "7ef84fd2-2b25-451f-af9f-6ad4bae103d6", 3, [], 1189, false, "in68bPvRI18", "https://www.youtube.com/watch?v=in68bPvRI18", 30, "/downloads/shows/Livet på gården/Season 2025/s2025e010900 - Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32.mp4", false, false, false, 1, ~U[2025-01-09 15:01:02Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I denne video er vi til 20 ugers scanning med en sund og rask baby, og finder ud af hvad kønnet er. Vi køber nyt spisebord, får nye æggefarver, opdager en ny hane og så har jeg nesting syndrom.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32", 3, 1189, false, "in68bPvRI18", "https://www.youtube.com/watch?v=in68bPvRI18", "/downloads/shows/Livet på gården/Season 2025/s2025e010900 - Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32.mp4", false, ~U[2025-01-09 15:01:02Z]] 02:13:48.046 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.047 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-16 15:00:13Z], 3] 02:13:48.048 [debug] QUERY OK source="media_items" db=0.9ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne gang i livet på gården kommer i med i køkkenet. Vinteren er over os, og jeg bruger meget tid indendøre, da dyrene er i ro og naturen er i dvale. Jeg elsker at lave mad, så se med på hvad jeg spiser på en dag, samt en omgang cookie bagning. Opskriften er denne: \n\nOpskrift til ca. 35 cookies\nDu skal bruge:\n240 g blødt smør\n300 g brun farin\n100 g sukker\n2 æg\n420 g hvedemel\n2 tsk bagepulver\n1 tsk natron\n2 tsk salt\n300 g chokolade\n\nPisk smør, sukker og brun farin sammen. Tilsæt æg og pisk med.\n\nTilsæt hvedemel, natron, bagepulver og salt. Pisk sammen.\n\nHak chokolade og vend det i dejen.\n\nTænd ovnen på 200 grader varmluft.\n\nForm kugler af dejen eller brug en isske.\n\nBag i ca. 10 min, til kanterne er gyldne, men midten stadig er “flydende”. Afkøl til de har sat sig. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33", "226404ba-bd72-423f-8316-e3619d8704e7", 3, [], 1320, false, "7eqGNG6x48o", "https://www.youtube.com/watch?v=7eqGNG6x48o", 31, "/downloads/shows/Livet på gården/Season 2025/s2025e011600 - Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33.mp4", false, false, false, 1, ~U[2025-01-16 15:00:13Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "Denne gang i livet på gården kommer i med i køkkenet. Vinteren er over os, og jeg bruger meget tid indendøre, da dyrene er i ro og naturen er i dvale. Jeg elsker at lave mad, så se med på hvad jeg spiser på en dag, samt en omgang cookie bagning. Opskriften er denne: \n\nOpskrift til ca. 35 cookies\nDu skal bruge:\n240 g blødt smør\n300 g brun farin\n100 g sukker\n2 æg\n420 g hvedemel\n2 tsk bagepulver\n1 tsk natron\n2 tsk salt\n300 g chokolade\n\nPisk smør, sukker og brun farin sammen. Tilsæt æg og pisk med.\n\nTilsæt hvedemel, natron, bagepulver og salt. Pisk sammen.\n\nHak chokolade og vend det i dejen.\n\nTænd ovnen på 200 grader varmluft.\n\nForm kugler af dejen eller brug en isske.\n\nBag i ca. 10 min, til kanterne er gyldne, men midten stadig er “flydende”. Afkøl til de har sat sig. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33", 3, 1320, false, "7eqGNG6x48o", "https://www.youtube.com/watch?v=7eqGNG6x48o", "/downloads/shows/Livet på gården/Season 2025/s2025e011600 - Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33.mp4", false, ~U[2025-01-16 15:00:13Z]] 02:13:48.049 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.050 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-23 15:00:14Z], 3] 02:13:48.051 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode kommer i med når vi forbereder og laver maden nytårsaften, som for os går stille for sig med en baby i maven og dyr der har brug for nærvær. Det nye år starter hårdt ud med strømsvigt i elhegnet, så grisene igen kan stikke af. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34", "1aa95d07-8381-44da-9c91-bd662894d960", 3, [], 1554, false, "DHmTZSb2QAg", "https://www.youtube.com/watch?v=DHmTZSb2QAg", 32, "/downloads/shows/Livet på gården/Season 2025/s2025e012300 - Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34.mp4", false, false, false, 1, ~U[2025-01-23 15:00:14Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I denne episode kommer i med når vi forbereder og laver maden nytårsaften, som for os går stille for sig med en baby i maven og dyr der har brug for nærvær. Det nye år starter hårdt ud med strømsvigt i elhegnet, så grisene igen kan stikke af. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34", 3, 1554, false, "DHmTZSb2QAg", "https://www.youtube.com/watch?v=DHmTZSb2QAg", "/downloads/shows/Livet på gården/Season 2025/s2025e012300 - Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34.mp4", false, ~U[2025-01-23 15:00:14Z]] 02:13:48.051 [debug] QUERY OK source="sources" db=0.1ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.052 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-30 15:00:01Z], 3] 02:13:48.053 [debug] QUERY OK source="media_items" db=0.7ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit bikser vi lynhurtigt en stald op til grisene, dog ikke uden problemer, da stødhegnet driller. Heldigvis kommer de på plads, og får nyt hjem som de er meget glade for. Derudover er vi så småt begyndt at shoppe til baby pigen, og har købt en barnevogn og andre sager. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny grisestald og babyhaul | Livet på gården Ep. 35", "81b41ab7-4d90-4260-8e28-b05be11d2f6d", 3, [], 1577, false, "06C0dkPjHIU", "https://www.youtube.com/watch?v=06C0dkPjHIU", 33, "/downloads/shows/Livet på gården/Season 2025/s2025e013000 - Ny grisestald og babyhaul | Livet på gården Ep. 35.mp4", false, false, false, 1, ~U[2025-01-30 15:00:01Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit bikser vi lynhurtigt en stald op til grisene, dog ikke uden problemer, da stødhegnet driller. Heldigvis kommer de på plads, og får nyt hjem som de er meget glade for. Derudover er vi så småt begyndt at shoppe til baby pigen, og har købt en barnevogn og andre sager. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny grisestald og babyhaul | Livet på gården Ep. 35", 3, 1577, false, "06C0dkPjHIU", "https://www.youtube.com/watch?v=06C0dkPjHIU", "/downloads/shows/Livet på gården/Season 2025/s2025e013000 - Ny grisestald og babyhaul | Livet på gården Ep. 35.mp4", false, ~U[2025-01-30 15:00:01Z]] 02:13:48.054 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.054 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-06 15:00:15Z], 3] 02:13:48.056 [debug] QUERY OK source="media_items" db=0.9ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i med i køkkenet en helt almindelig hverdags aften hvor vi har pizza aften. Vi er hverken eksperter eller noget, men vi elsker hygger ved at lave pizza sammen. Rotterne er fortsat på færde og med sit luftgevær går Mikkel på jagt og fanger faktisk 2 rotter. Kæmpe succes!\n\nPizzadej: https://stinna.dk/aftensmad/nem-pizzadej.html\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Pizzaaften og rottefangst | Livet på gården Ep. 36", "0d043ff3-2654-4fa9-9aa3-7785e14d8419", 3, [], 1119, false, "5VIOEvQa6qs", "https://www.youtube.com/watch?v=5VIOEvQa6qs", 34, "/downloads/shows/Livet på gården/Season 2025/s2025e020600 - Pizzaaften og rottefangst | Livet på gården Ep. 36.mp4", false, false, false, 1, ~U[2025-02-06 15:00:15Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit kommer i med i køkkenet en helt almindelig hverdags aften hvor vi har pizza aften. Vi er hverken eksperter eller noget, men vi elsker hygger ved at lave pizza sammen. Rotterne er fortsat på færde og med sit luftgevær går Mikkel på jagt og fanger faktisk 2 rotter. Kæmpe succes!\n\nPizzadej: https://stinna.dk/aftensmad/nem-pizzadej.html\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Pizzaaften og rottefangst | Livet på gården Ep. 36", 3, 1119, false, "5VIOEvQa6qs", "https://www.youtube.com/watch?v=5VIOEvQa6qs", "/downloads/shows/Livet på gården/Season 2025/s2025e020600 - Pizzaaften og rottefangst | Livet på gården Ep. 36.mp4", false, ~U[2025-02-06 15:00:15Z]] 02:13:48.056 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.057 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-13 15:00:15Z], 3] 02:13:48.058 [debug] QUERY OK source="media_items" db=0.8ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nI denne video kommer i med i løbet af mad-dag. Jeg er gravid i 3. trimester og er mere sulten end nogensinde før. Jeg spiser hvad jeg lyster og nemheden er vigtig for os lige nu da jeg er udfordret i de store indkøb - så derfor får vi måltidskasser fra HelloFresh. Det er nemt, lækkert og virkelig inspirerende. \n\nDu kan lige nu spare op til 1079 kroner på dine 3 første måltidskasser fra HelloFresh og få en gratis dessert med ved hver bestilling de første 3 måneder hvis du er ny kunde - ved brug af min rabatkode KRISTINEFRESH25 eller ved at klikke på linket her: http://www.hellofresh.dk/KRISTINEFRESH25\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37", "423872a9-2187-453f-8ce5-f81a8956e41c", 3, [], 964, false, "C4VNr3_SRjc", "https://www.youtube.com/watch?v=C4VNr3_SRjc", 35, "/downloads/shows/Livet på gården/Season 2025/s2025e021300 - Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37.mp4", false, false, false, 1, ~U[2025-02-13 15:00:15Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "Denne video indeholder reklame for HelloFresh. \n\nI denne video kommer i med i løbet af mad-dag. Jeg er gravid i 3. trimester og er mere sulten end nogensinde før. Jeg spiser hvad jeg lyster og nemheden er vigtig for os lige nu da jeg er udfordret i de store indkøb - så derfor får vi måltidskasser fra HelloFresh. Det er nemt, lækkert og virkelig inspirerende. \n\nDu kan lige nu spare op til 1079 kroner på dine 3 første måltidskasser fra HelloFresh og få en gratis dessert med ved hver bestilling de første 3 måneder hvis du er ny kunde - ved brug af min rabatkode KRISTINEFRESH25 eller ved at klikke på linket her: http://www.hellofresh.dk/KRISTINEFRESH25\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37", 3, 964, false, "C4VNr3_SRjc", "https://www.youtube.com/watch?v=C4VNr3_SRjc", "/downloads/shows/Livet på gården/Season 2025/s2025e021300 - Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37.mp4", false, ~U[2025-02-13 15:00:15Z]] 02:13:48.059 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.059 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-20 15:01:25Z], 3] 02:13:48.060 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode er der igen igen gang i rotterne, og vi beslutter os for at rydde hønsehus for sager og flytte æggestationen. Willy har haft en byld der er sprunget, og må akut til dyrelægen - og så giver jeg en update på hvordan det går både med mig og graviditeten.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En skæv kat og en graviditetsupdate | Livet på gården Ep. 38", "1a47117b-7fa9-49a5-bf3c-e710eabf76ca", 3, [], 1364, false, "y7cv58JT-FI", "https://www.youtube.com/watch?v=y7cv58JT-FI", 36, "/downloads/shows/Livet på gården/Season 2025/s2025e022000 - En skæv kat og en graviditetsupdate | Livet på gården Ep. 38.mp4", false, false, false, 1, ~U[2025-02-20 15:01:25Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I denne episode er der igen igen gang i rotterne, og vi beslutter os for at rydde hønsehus for sager og flytte æggestationen. Willy har haft en byld der er sprunget, og må akut til dyrelægen - og så giver jeg en update på hvordan det går både med mig og graviditeten.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En skæv kat og en graviditetsupdate | Livet på gården Ep. 38", 3, 1364, false, "y7cv58JT-FI", "https://www.youtube.com/watch?v=y7cv58JT-FI", "/downloads/shows/Livet på gården/Season 2025/s2025e022000 - En skæv kat og en graviditetsupdate | Livet på gården Ep. 38.mp4", false, ~U[2025-02-20 15:01:25Z]] 02:13:48.061 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.061 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-06 15:01:06Z], 3] 02:13:48.063 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården handler jeg ind til ugens madplan og så bruger vi en helt fantastisk og rolig dag udenfor. Mikkel får ordnet brænde og vi forbereder os så småt på foråret - for inden vi aner det holder Mikkel fri, for at nå så meget renovering af overetagen som muligt inden baby kommer.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indkøbshaul og forår i luften | Livet på gården Ep. 39", "6be1571d-c17c-4c41-8aed-8ca648f595aa", 3, [], 1194, false, "lZWB5QR4wPQ", "https://www.youtube.com/watch?v=lZWB5QR4wPQ", 37, "/downloads/shows/Livet på gården/Season 2025/s2025e030600 - Indkøbshaul og forår i luften | Livet på gården Ep. 39.mp4", false, false, false, 1, ~U[2025-03-06 15:01:06Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit af livet på gården handler jeg ind til ugens madplan og så bruger vi en helt fantastisk og rolig dag udenfor. Mikkel får ordnet brænde og vi forbereder os så småt på foråret - for inden vi aner det holder Mikkel fri, for at nå så meget renovering af overetagen som muligt inden baby kommer.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indkøbshaul og forår i luften | Livet på gården Ep. 39", 3, 1194, false, "lZWB5QR4wPQ", "https://www.youtube.com/watch?v=lZWB5QR4wPQ", "/downloads/shows/Livet på gården/Season 2025/s2025e030600 - Indkøbshaul og forår i luften | Livet på gården Ep. 39.mp4", false, ~U[2025-03-06 15:01:06Z]] 02:13:48.063 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.064 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-13 15:00:23Z], 3] 02:13:48.065 [debug] QUERY OK source="media_items" db=0.8ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården tager jeg jer med ind i en tankestrøm på en af de svære dage. Hønsedamerne er endeligt begyndt at lægge æg, så det giver mening og så er mine forældre på besøg, og der sker som altid en masse. Jeg får endelig en fryser indenfor og så sætter min far og Mikkel en midlertidig trappe op, så vi så småt kan begynde på overetagen!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En træt krop og en trappe til overetagen | Livet på gården Ep. 40", "8610c696-3a28-431f-aacd-5fde46350690", 3, [], 1167, false, "Ok2_GV07ZBQ", "https://www.youtube.com/watch?v=Ok2_GV07ZBQ", 38, "/downloads/shows/Livet på gården/Season 2025/s2025e031300 - En træt krop og en trappe til overetagen | Livet på gården Ep. 40.mp4", false, false, false, 1, ~U[2025-03-13 15:00:23Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit af livet på gården tager jeg jer med ind i en tankestrøm på en af de svære dage. Hønsedamerne er endeligt begyndt at lægge æg, så det giver mening og så er mine forældre på besøg, og der sker som altid en masse. Jeg får endelig en fryser indenfor og så sætter min far og Mikkel en midlertidig trappe op, så vi så småt kan begynde på overetagen!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En træt krop og en trappe til overetagen | Livet på gården Ep. 40", 3, 1167, false, "Ok2_GV07ZBQ", "https://www.youtube.com/watch?v=Ok2_GV07ZBQ", "/downloads/shows/Livet på gården/Season 2025/s2025e031300 - En træt krop og en trappe til overetagen | Livet på gården Ep. 40.mp4", false, ~U[2025-03-13 15:00:23Z]] 02:13:48.066 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.066 [debug] QUERY OK source="media_items" db=0.3ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-08 14:00:48Z], 3] 02:13:48.068 [debug] QUERY OK source="media_items" db=0.8ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Der er sket meget siden sidst - jeg har født! Men inden da filmede jeg en masse gode sager, som jeg ikke synes i skal gå glip af. Blandt andet at vi er ramt af nesting syndrom og pludselig må have nye møbler og gardiner - og udenfor er Mikkel som altid i fuld gang - med bål og klargøring af drivhus. Pænt sidder jeg meget tyk og træt og kigger på imens. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En baby og nesting mode | Livet på gården Ep. 41", "0fc71154-f807-4af4-a4a0-38ab618b188c", 3, [], 1161, false, "_dr97qz8fXE", "https://www.youtube.com/watch?v=_dr97qz8fXE", 39, "/downloads/shows/Livet på gården/Season 2025/s2025e050800 - En baby og nesting mode | Livet på gården Ep. 41.mp4", false, false, false, 1, ~U[2025-05-08 14:00:48Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "Der er sket meget siden sidst - jeg har født! Men inden da filmede jeg en masse gode sager, som jeg ikke synes i skal gå glip af. Blandt andet at vi er ramt af nesting syndrom og pludselig må have nye møbler og gardiner - og udenfor er Mikkel som altid i fuld gang - med bål og klargøring af drivhus. Pænt sidder jeg meget tyk og træt og kigger på imens. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En baby og nesting mode | Livet på gården Ep. 41", 3, 1161, false, "_dr97qz8fXE", "https://www.youtube.com/watch?v=_dr97qz8fXE", "/downloads/shows/Livet på gården/Season 2025/s2025e050800 - En baby og nesting mode | Livet på gården Ep. 41.mp4", false, ~U[2025-05-08 14:00:48Z]] 02:13:48.068 [debug] QUERY OK source="sources" db=0.3ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.069 [debug] QUERY OK source="media_items" db=0.4ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-15 14:00:49Z], 3] 02:13:48.070 [debug] QUERY OK source="media_items" db=0.7ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit handler det om knækbrød og køkkentid og rotter. Og så tager jeg en snak om grisene og hønsene, jeg er nemlig kommet i tvivl om det giver mening økonomisk at have grise som alligevel ikke bliver slagteklar forløbig. Hønsene vender vi også. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Knækbrød og en snak om økonomien | Livet på gården Ep. 42", "56b5fd5b-f387-4c08-b0bd-5267ac18daef", 3, [], 1565, false, "XyfY9KQlii8", "https://www.youtube.com/watch?v=XyfY9KQlii8", 40, "/downloads/shows/Livet på gården/Season 2025/s2025e051500 - Knækbrød og en snak om økonomien | Livet på gården Ep. 42.mp4", false, false, false, 1, ~U[2025-05-15 14:00:49Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit handler det om knækbrød og køkkentid og rotter. Og så tager jeg en snak om grisene og hønsene, jeg er nemlig kommet i tvivl om det giver mening økonomisk at have grise som alligevel ikke bliver slagteklar forløbig. Hønsene vender vi også. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Knækbrød og en snak om økonomien | Livet på gården Ep. 42", 3, 1565, false, "XyfY9KQlii8", "https://www.youtube.com/watch?v=XyfY9KQlii8", "/downloads/shows/Livet på gården/Season 2025/s2025e051500 - Knækbrød og en snak om økonomien | Livet på gården Ep. 42.mp4", false, ~U[2025-05-15 14:00:49Z]] 02:13:48.071 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.071 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-22 14:00:14Z], 3] 02:13:48.098 [debug] QUERY OK source="media_items" db=26.4ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der indkøbshaul, som synger på sidste vers inden jeg skal føde, da det simpelthen er for hårdt for mig at handle selv. Jeg forbereder mad til fryseren så der er godt mad til efter fødslen, og så har vi taget en stor beslutning om at pille taget af liiige kvart i termin og det sætter mine nerver på spidsen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43", "90364e9b-d1b1-4c76-a8fc-32c2bced26f2", 3, [], 1220, false, "4lsBpblT134", "https://www.youtube.com/watch?v=4lsBpblT134", 41, "/downloads/shows/Livet på gården/Season 2025/s2025e052200 - En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43.mp4", false, false, false, 1, ~U[2025-05-22 14:00:14Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit er der indkøbshaul, som synger på sidste vers inden jeg skal føde, da det simpelthen er for hårdt for mig at handle selv. Jeg forbereder mad til fryseren så der er godt mad til efter fødslen, og så har vi taget en stor beslutning om at pille taget af liiige kvart i termin og det sætter mine nerver på spidsen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43", 3, 1220, false, "4lsBpblT134", "https://www.youtube.com/watch?v=4lsBpblT134", "/downloads/shows/Livet på gården/Season 2025/s2025e052200 - En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43.mp4", false, ~U[2025-05-22 14:00:14Z]] 02:13:48.099 [debug] QUERY OK source="sources" db=0.3ms idle=29.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.100 [debug] QUERY OK source="media_items" db=0.3ms idle=29.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-29 14:00:35Z], 3] 02:13:48.106 [debug] QUERY OK source="media_items" db=5.6ms idle=29.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er jeg for alvor ved at være udfordret af min graviditet, jeg er kæmpe stor med meget væske i kroppen, alt imens at Mikkel knokler i døgndrift på at lave nyt tag. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Højgravid og et hus uden tag | Livet på gården Ep. 44", "4d8c9dbb-e4d1-46ae-bf56-4a21c5047693", 3, [], 1273, false, "LwViuowDYFk", "https://www.youtube.com/watch?v=LwViuowDYFk", 42, "/downloads/shows/Livet på gården/Season 2025/s2025e052900 - Højgravid og et hus uden tag | Livet på gården Ep. 44.mp4", false, false, false, 1, ~U[2025-05-29 14:00:35Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit er jeg for alvor ved at være udfordret af min graviditet, jeg er kæmpe stor med meget væske i kroppen, alt imens at Mikkel knokler i døgndrift på at lave nyt tag. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Højgravid og et hus uden tag | Livet på gården Ep. 44", 3, 1273, false, "LwViuowDYFk", "https://www.youtube.com/watch?v=LwViuowDYFk", "/downloads/shows/Livet på gården/Season 2025/s2025e052900 - Højgravid og et hus uden tag | Livet på gården Ep. 44.mp4", false, ~U[2025-05-29 14:00:35Z]] 02:13:48.106 [debug] QUERY OK source="sources" db=0.2ms idle=34.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.107 [debug] QUERY OK source="media_items" db=0.3ms idle=8.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-05 14:00:41Z], 3] 02:13:48.108 [debug] QUERY OK source="media_items" db=0.8ms idle=8.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager det hele pludselig en drejning da vi en dag er ved jordemoder og mit blodtryk er alt for højt. Efter tjek kommer vi hjem og når lige at rykke grisenes indhegning, før det desværre bliver nødvendigt at indlægge mig grundet svangerskabsforgiftning og diabetes. Og pludselig ser vi ind i en igangsættelse frem for en naturlig start på fødslen.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45", "3a5aeb56-e86a-457e-b0a6-c52183391f8d", 3, [], 1394, false, "QVFwXhDMin4", "https://www.youtube.com/watch?v=QVFwXhDMin4", 43, "/downloads/shows/Livet på gården/Season 2025/s2025e060500 - Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45.mp4", false, false, false, 1, ~U[2025-06-05 14:00:41Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit tager det hele pludselig en drejning da vi en dag er ved jordemoder og mit blodtryk er alt for højt. Efter tjek kommer vi hjem og når lige at rykke grisenes indhegning, før det desværre bliver nødvendigt at indlægge mig grundet svangerskabsforgiftning og diabetes. Og pludselig ser vi ind i en igangsættelse frem for en naturlig start på fødslen.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45", 3, 1394, false, "QVFwXhDMin4", "https://www.youtube.com/watch?v=QVFwXhDMin4", "/downloads/shows/Livet på gården/Season 2025/s2025e060500 - Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45.mp4", false, ~U[2025-06-05 14:00:41Z]] 02:13:48.109 [debug] QUERY OK source="sources" db=0.2ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.109 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-12 14:00:00Z], 3] 02:13:48.111 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit bliver 2 endelig til 3 når vi bliver forældre til den fineste lille pige. Vi kommer hjem i god behold, jeg er stadig noget medtaget efter en hård fødsel.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Når 2 bliver til 3 | Livet på gården Ep. 46", "cc93005b-bb21-40fb-92ea-7816f6ab33d7", 3, [], 1290, false, "-rvS4KsyD-8", "https://www.youtube.com/watch?v=-rvS4KsyD-8", 44, "/downloads/shows/Livet på gården/Season 2025/s2025e061200 - Når 2 bliver til 3 | Livet på gården Ep. 46.mp4", false, false, false, 1, ~U[2025-06-12 14:00:00Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit bliver 2 endelig til 3 når vi bliver forældre til den fineste lille pige. Vi kommer hjem i god behold, jeg er stadig noget medtaget efter en hård fødsel.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Når 2 bliver til 3 | Livet på gården Ep. 46", 3, 1290, false, "-rvS4KsyD-8", "https://www.youtube.com/watch?v=-rvS4KsyD-8", "/downloads/shows/Livet på gården/Season 2025/s2025e061200 - Når 2 bliver til 3 | Livet på gården Ep. 46.mp4", false, ~U[2025-06-12 14:00:00Z]] 02:13:48.111 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.112 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-19 14:00:28Z], 3] 02:13:48.113 [debug] QUERY OK source="media_items" db=0.8ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi for alvor faldet på plads derhjemme igen efter en hård omgang og tilvænning efter fødslen. Vi er begge 2 på barsel og nyder det - nogle mere end andre. Som altid har Mikkel gang i alt muligt og kan ikke sidde stille. Hønsene skrukker og køkkenhaven er kaos - så alt er som det plejer på denne tid af året. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Barselsbobbel og køkkenhave | Livet på gården Ep. 47", "d7f731c2-a377-485e-97ba-7fb009949b97", 3, [], 1248, false, "L8u8ZcjpR6A", "https://www.youtube.com/watch?v=L8u8ZcjpR6A", 45, "/downloads/shows/Livet på gården/Season 2025/s2025e061900 - Barselsbobbel og køkkenhave | Livet på gården Ep. 47.mp4", false, false, false, 1, ~U[2025-06-19 14:00:28Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit er vi for alvor faldet på plads derhjemme igen efter en hård omgang og tilvænning efter fødslen. Vi er begge 2 på barsel og nyder det - nogle mere end andre. Som altid har Mikkel gang i alt muligt og kan ikke sidde stille. Hønsene skrukker og køkkenhaven er kaos - så alt er som det plejer på denne tid af året. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Barselsbobbel og køkkenhave | Livet på gården Ep. 47", 3, 1248, false, "L8u8ZcjpR6A", "https://www.youtube.com/watch?v=L8u8ZcjpR6A", "/downloads/shows/Livet på gården/Season 2025/s2025e061900 - Barselsbobbel og køkkenhave | Livet på gården Ep. 47.mp4", false, ~U[2025-06-19 14:00:28Z]] 02:13:48.113 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.114 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-26 14:00:46Z], 3] 02:13:48.115 [debug] QUERY OK source="media_items" db=0.8ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for Segway Navimow | I dette afsnit er vi kommet i haven, fordi vi har fået intet mindre end en enormt fancy robotplæneklipper - og selvom Mikkel er meget glad for sin havetraktor, så er han altså ikke til at styre. \n\nLæs mere om plæneklipperen her: http://bit.ly/4lwNXrf\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny plæneklipper og en glad mand | Livet på gården Ep. 48", "ac4cd8fb-2b4a-493a-ae28-db2c790f5b5b", 3, [], 885, false, "W_VQNTe2uV0", "https://www.youtube.com/watch?v=W_VQNTe2uV0", 46, "/downloads/shows/Livet på gården/Season 2025/s2025e062600 - Ny plæneklipper og en glad mand | Livet på gården Ep. 48.mp4", false, false, false, 1, ~U[2025-06-26 14:00:46Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "Denne video indeholder reklame for Segway Navimow | I dette afsnit er vi kommet i haven, fordi vi har fået intet mindre end en enormt fancy robotplæneklipper - og selvom Mikkel er meget glad for sin havetraktor, så er han altså ikke til at styre. \n\nLæs mere om plæneklipperen her: http://bit.ly/4lwNXrf\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny plæneklipper og en glad mand | Livet på gården Ep. 48", 3, 885, false, "W_VQNTe2uV0", "https://www.youtube.com/watch?v=W_VQNTe2uV0", "/downloads/shows/Livet på gården/Season 2025/s2025e062600 - Ny plæneklipper og en glad mand | Livet på gården Ep. 48.mp4", false, ~U[2025-06-26 14:00:46Z]] 02:13:48.116 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.116 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-03 14:00:38Z], 3] 02:13:48.118 [debug] QUERY OK source="media_items" db=0.8ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er det endelig blevet maj og tid til at sætte tomater i drivhuset. I år er de købt, men de får samme start som mine tomater altid gør. Jeg kommer med mine bedste tips og tricks. Og så tager vi en snak om byggeriet og alle vores sommer planer. Mikkel får travlt, som altid. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tomater og byggemøde | Livet på gården Ep. 49", "4a263d65-2b02-4a55-b7d3-37d23ba6a6ba", 3, [], 1455, false, "LOW7BsM3muw", "https://www.youtube.com/watch?v=LOW7BsM3muw", 47, "/downloads/shows/Livet på gården/Season 2025/s2025e070300 - Tomater og byggemøde | Livet på gården Ep. 49.mp4", false, false, false, 1, ~U[2025-07-03 14:00:38Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit er det endelig blevet maj og tid til at sætte tomater i drivhuset. I år er de købt, men de får samme start som mine tomater altid gør. Jeg kommer med mine bedste tips og tricks. Og så tager vi en snak om byggeriet og alle vores sommer planer. Mikkel får travlt, som altid. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tomater og byggemøde | Livet på gården Ep. 49", 3, 1455, false, "LOW7BsM3muw", "https://www.youtube.com/watch?v=LOW7BsM3muw", "/downloads/shows/Livet på gården/Season 2025/s2025e070300 - Tomater og byggemøde | Livet på gården Ep. 49.mp4", false, ~U[2025-07-03 14:00:38Z]] 02:13:48.118 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.119 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-10 14:01:07Z], 3] 02:13:48.120 [debug] QUERY OK source="media_items" db=0.8ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har jeg tømt keramikovnen for første gang længe, jeg er i haven for første gang længe og er så småt ved at komme tilbage til mit før. Men fødslen har sat sine spor og det tager jeg en snak om i dette afsnit. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50", "9beaa7c7-5dc8-4e04-866c-3494c52fec72", 3, [], 1048, false, "eRwqESemLz0", "https://www.youtube.com/watch?v=eRwqESemLz0", 48, "/downloads/shows/Livet på gården/Season 2025/s2025e071000 - Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50.mp4", false, false, false, 1, ~U[2025-07-10 14:01:07Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit har jeg tømt keramikovnen for første gang længe, jeg er i haven for første gang længe og er så småt ved at komme tilbage til mit før. Men fødslen har sat sine spor og det tager jeg en snak om i dette afsnit. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50", 3, 1048, false, "eRwqESemLz0", "https://www.youtube.com/watch?v=eRwqESemLz0", "/downloads/shows/Livet på gården/Season 2025/s2025e071000 - Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50.mp4", false, ~U[2025-07-10 14:01:07Z]] 02:13:48.121 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.121 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-17 14:00:37Z], 3] 02:13:48.123 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit sker der en hulens masse sjove sager. Mikkel er i fuld gang med at lave vejen om og bygge det nye hegn. Vores datter er med i haven i bæreselen og jeg høster rabarberen. Og så er der dømt nyt udstyr og et haul af alt det gejl vi har fået hjem!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores datter er med i haven | Livet på gården Ep. 51", "969ebfa5-c07a-40fc-bb54-c4e54e7be677", 3, [], 1223, false, "N_QTztIN_uE", "https://www.youtube.com/watch?v=N_QTztIN_uE", 49, "/downloads/shows/Livet på gården/Season 2025/s2025e071700 - Vores datter er med i haven | Livet på gården Ep. 51.mp4", false, false, false, 1, ~U[2025-07-17 14:00:37Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit sker der en hulens masse sjove sager. Mikkel er i fuld gang med at lave vejen om og bygge det nye hegn. Vores datter er med i haven i bæreselen og jeg høster rabarberen. Og så er der dømt nyt udstyr og et haul af alt det gejl vi har fået hjem!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores datter er med i haven | Livet på gården Ep. 51", 3, 1223, false, "N_QTztIN_uE", "https://www.youtube.com/watch?v=N_QTztIN_uE", "/downloads/shows/Livet på gården/Season 2025/s2025e071700 - Vores datter er med i haven | Livet på gården Ep. 51.mp4", false, ~U[2025-07-17 14:00:37Z]] 02:13:48.123 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.124 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 14:00:17Z], 3] 02:13:48.125 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har vi en baby som er udfordret af tigerspring og dermed en træt mor. Mikkel knokler løs på taget fra morgen til aften og så sætter han lidt ord på hvad det er han har lavet, denne gang med en mikrofon - så man bedre kan høre ham, haha!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nyt tag på 3 dage | Livet på gården Ep. 52", "31dd35cd-60e7-4476-ad5d-62105f1e5884", 3, [], 1213, false, "8KBS6AxLEhs", "https://www.youtube.com/watch?v=8KBS6AxLEhs", 50, "/downloads/shows/Livet på gården/Season 2025/s2025e081400 - Nyt tag på 3 dage | Livet på gården Ep. 52.mp4", false, false, false, 1, ~U[2025-08-14 14:00:17Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I denne video har vi en baby som er udfordret af tigerspring og dermed en træt mor. Mikkel knokler løs på taget fra morgen til aften og så sætter han lidt ord på hvad det er han har lavet, denne gang med en mikrofon - så man bedre kan høre ham, haha!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nyt tag på 3 dage | Livet på gården Ep. 52", 3, 1213, false, "8KBS6AxLEhs", "https://www.youtube.com/watch?v=8KBS6AxLEhs", "/downloads/shows/Livet på gården/Season 2025/s2025e081400 - Nyt tag på 3 dage | Livet på gården Ep. 52.mp4", false, ~U[2025-08-14 14:00:17Z]] 02:13:48.125 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.126 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-21 14:01:25Z], 3] 02:13:48.127 [debug] QUERY OK source="media_items" db=0.8ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har Mikkel gang i bekæmpelsen af ukrudt, mens jeg giver mig i kast med loppehelvede i hønsehuset, som er INVARDERET! Det får den helt store tur og så er det bare at håbe at det er nok, for ellers skal jeg have anskaffet mig exholt og det er en dyr affære.. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53", "8fd42935-11a6-4568-b8ba-60a834c89a81", 3, [], 1195, false, "xTCNmkJl7cs", "https://www.youtube.com/watch?v=xTCNmkJl7cs", 51, "/downloads/shows/Livet på gården/Season 2025/s2025e082100 - Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53.mp4", false, false, false, 1, ~U[2025-08-21 14:01:25Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit har Mikkel gang i bekæmpelsen af ukrudt, mens jeg giver mig i kast med loppehelvede i hønsehuset, som er INVARDERET! Det får den helt store tur og så er det bare at håbe at det er nok, for ellers skal jeg have anskaffet mig exholt og det er en dyr affære.. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53", 3, 1195, false, "xTCNmkJl7cs", "https://www.youtube.com/watch?v=xTCNmkJl7cs", "/downloads/shows/Livet på gården/Season 2025/s2025e082100 - Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53.mp4", false, ~U[2025-08-21 14:01:25Z]] 02:13:48.128 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.128 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-28 14:00:46Z], 3] 02:13:48.130 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mikkel arbejder videre på taget og så tager vi en status på hønsehuset efter udrensning. Hønsene skrukker på stribe og der er semi krise over det. Malene kommer på besøg og får den store tour af køkkenhaven, vi laver mad sammen og tager en snak om hvorfor hun ikke længere arbejder hos mig.. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg af Malene og høns der skrukker | Livet på gården Ep. 54", "d833d456-ed40-4e8f-87ba-b3e24d2d73ed", 3, [], 1652, false, "U_w3PIAVp40", "https://www.youtube.com/watch?v=U_w3PIAVp40", 52, "/downloads/shows/Livet på gården/Season 2025/s2025e082800 - Besøg af Malene og høns der skrukker | Livet på gården Ep. 54.mp4", false, false, false, 1, ~U[2025-08-28 14:00:46Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "Mikkel arbejder videre på taget og så tager vi en status på hønsehuset efter udrensning. Hønsene skrukker på stribe og der er semi krise over det. Malene kommer på besøg og får den store tour af køkkenhaven, vi laver mad sammen og tager en snak om hvorfor hun ikke længere arbejder hos mig.. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg af Malene og høns der skrukker | Livet på gården Ep. 54", 3, 1652, false, "U_w3PIAVp40", "https://www.youtube.com/watch?v=U_w3PIAVp40", "/downloads/shows/Livet på gården/Season 2025/s2025e082800 - Besøg af Malene og høns der skrukker | Livet på gården Ep. 54.mp4", false, ~U[2025-08-28 14:00:46Z]] 02:13:48.130 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.131 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-07 14:01:23Z], 3] 02:13:48.132 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nDu kan få 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder.\nRabatkode: B2SKRISTINE\nLink: www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52", "d2dc0076-e4ef-47b0-8384-fe95b277fe3a", 3, [], 1265, false, "oJHte_vjoV4", "https://www.youtube.com/watch?v=oJHte_vjoV4", 53, "/downloads/shows/Livet på gården/Season 2025/s2025e080700 - Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52.mp4", false, false, false, 1, ~U[2025-08-07 14:01:23Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "Denne video indeholder reklame for HelloFresh. \n\nDu kan få 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder.\nRabatkode: B2SKRISTINE\nLink: www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52", 3, 1265, false, "oJHte_vjoV4", "https://www.youtube.com/watch?v=oJHte_vjoV4", "/downloads/shows/Livet på gården/Season 2025/s2025e080700 - Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52.mp4", false, ~U[2025-08-07 14:01:23Z]] 02:13:48.132 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.133 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-04 14:01:08Z], 3] 02:13:48.134 [debug] QUERY OK source="media_items" db=0.8ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i for første gang med op på overetagen og ser med når Mikkel bygger den anden kvist - det er også første gang jeg er deroppe, og jeg er mildest talt oppe at ringe over hvor fedt det bliver. Felix er på besøg og med i værkstedet og så har vi taget store beslutninger om fremtiden på gården. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix laver keramik og vores store beslutning | Livet på gården Ep. 55", "a7872ea7-6826-4bf3-8467-4c0d0f9a89f7", 3, [], 1396, false, "gbe1EwOyOKY", "https://www.youtube.com/watch?v=gbe1EwOyOKY", 54, "/downloads/shows/Livet på gården/Season 2025/s2025e090400 - Felix laver keramik og vores store beslutning | Livet på gården Ep. 55.mp4", false, false, false, 1, ~U[2025-09-04 14:01:08Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit kommer i for første gang med op på overetagen og ser med når Mikkel bygger den anden kvist - det er også første gang jeg er deroppe, og jeg er mildest talt oppe at ringe over hvor fedt det bliver. Felix er på besøg og med i værkstedet og så har vi taget store beslutninger om fremtiden på gården. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix laver keramik og vores store beslutning | Livet på gården Ep. 55", 3, 1396, false, "gbe1EwOyOKY", "https://www.youtube.com/watch?v=gbe1EwOyOKY", "/downloads/shows/Livet på gården/Season 2025/s2025e090400 - Felix laver keramik og vores store beslutning | Livet på gården Ep. 55.mp4", false, ~U[2025-09-04 14:01:08Z]] 02:13:48.135 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.135 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-11 14:00:02Z], 3] 02:13:48.136 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56", "c8cba13e-2a8c-46f0-9910-2af9e57a868c", 3, [], 1421, false, "aPr93nvV6Sc", "https://www.youtube.com/watch?v=aPr93nvV6Sc", 55, "/downloads/shows/Livet på gården/Season 2025/s2025e091100 - Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56.mp4", false, false, false, 1, ~U[2025-09-11 14:00:02Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56", 3, 1421, false, "aPr93nvV6Sc", "https://www.youtube.com/watch?v=aPr93nvV6Sc", "/downloads/shows/Livet på gården/Season 2025/s2025e091100 - Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56.mp4", false, ~U[2025-09-11 14:00:02Z]] 02:13:48.137 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.138 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-18 14:06:34Z], 3] 02:13:48.139 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57", "b3a10a45-81a7-4c59-a309-cb621140e9b4", 3, [], 1020, false, "lLuYcnLpHk8", "https://www.youtube.com/watch?v=lLuYcnLpHk8", 56, "/downloads/shows/Livet på gården/Season 2025/s2025e091800 - Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57.mp4", false, false, false, 1, ~U[2025-09-18 14:06:34Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57", 3, 1020, false, "lLuYcnLpHk8", "https://www.youtube.com/watch?v=lLuYcnLpHk8", "/downloads/shows/Livet på gården/Season 2025/s2025e091800 - Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57.mp4", false, ~U[2025-09-18 14:06:34Z]] 02:13:48.139 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.140 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-25 14:01:33Z], 3] 02:13:48.141 [debug] QUERY OK source="media_items" db=0.9ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\nI dagens afsnit er vi i fuld gang. Jeg giver en status fra keramikken, jeg hjælper til når Mikkel sætter sig for at rive kradt og så forsøger vi os med en timelapse for første gang. Vi giver også en status på hvordan det går i hønsegården efter vi har skåret gevaldigt ned for antallet. Alt sammen i mens vores datter er i tigerspring og meget lidt vil sove.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58", "c63d0807-7513-4885-840c-bd91a8b26890", 3, [], 1485, false, "rFwrB9Pe4hM", "https://www.youtube.com/watch?v=rFwrB9Pe4hM", 57, "/downloads/shows/Livet på gården/Season 2025/s2025e092500 - Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58.mp4", false, false, false, 1, ~U[2025-09-25 14:01:33Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\nI dagens afsnit er vi i fuld gang. Jeg giver en status fra keramikken, jeg hjælper til når Mikkel sætter sig for at rive kradt og så forsøger vi os med en timelapse for første gang. Vi giver også en status på hvordan det går i hønsegården efter vi har skåret gevaldigt ned for antallet. Alt sammen i mens vores datter er i tigerspring og meget lidt vil sove.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58", 3, 1485, false, "rFwrB9Pe4hM", "https://www.youtube.com/watch?v=rFwrB9Pe4hM", "/downloads/shows/Livet på gården/Season 2025/s2025e092500 - Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58.mp4", false, ~U[2025-09-25 14:01:33Z]] 02:13:48.142 [debug] QUERY OK source="sources" db=0.3ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.143 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-02 14:01:32Z], 3] 02:13:48.145 [debug] QUERY OK source="media_items" db=2.1ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager Mikkel mig med i hans store planer om både ny gårdsplads og fliselægning. Han fortsætter det sidste arbejde på kvisten og jeg trækker i arbejdstøjet og hjælper til med både byggeaffald og trimning af haven - samtidig med at vores baby fortsat sover skidt. Grisene flytter hjemmefra og jeg får sagt ordenligt farvel. Det er meget vemodigt, men også for det bedste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59", "05efaf15-fb26-4947-9fbf-8a7fd20195a9", 3, [], 1641, false, "uEP1rtTb-XE", "https://www.youtube.com/watch?v=uEP1rtTb-XE", 58, "/downloads/shows/Livet på gården/Season 2025/s2025e100200 - Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59.mp4", false, false, false, 1, ~U[2025-10-02 14:01:32Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit tager Mikkel mig med i hans store planer om både ny gårdsplads og fliselægning. Han fortsætter det sidste arbejde på kvisten og jeg trækker i arbejdstøjet og hjælper til med både byggeaffald og trimning af haven - samtidig med at vores baby fortsat sover skidt. Grisene flytter hjemmefra og jeg får sagt ordenligt farvel. Det er meget vemodigt, men også for det bedste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59", 3, 1641, false, "uEP1rtTb-XE", "https://www.youtube.com/watch?v=uEP1rtTb-XE", "/downloads/shows/Livet på gården/Season 2025/s2025e100200 - Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59.mp4", false, ~U[2025-10-02 14:01:32Z]] 02:13:48.146 [debug] QUERY OK source="sources" db=0.1ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.146 [debug] QUERY OK source="media_items" db=0.3ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-09 14:01:15Z], 3] 02:13:48.148 [debug] QUERY OK source="media_items" db=0.8ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kører vi på ferie i en bil der aldrig har været meget fyldt og vi har endda fået ny stor bil. Jeg døjer med hæmorider og så tager vi en klassisk tur rundt med Mikkel der fortæller om alle de ting han synes der skal fikses. Vi starter dog med at rykke et gammelt hønsehus og flytte vores ATV som er gået i stykker. Vi er også en tur i vores kaos af en have, hvor det eneste der fungere er én squash plante, som til gengæld også levere GIGANTISKE squash. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60", "22058491-14ba-476e-aeba-e2323ee8f01b", 3, [], 1534, false, "mCkvhf9YDCk", "https://www.youtube.com/watch?v=mCkvhf9YDCk", 59, "/downloads/shows/Livet på gården/Season 2025/s2025e100900 - Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60.mp4", false, false, false, 1, ~U[2025-10-09 14:01:15Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit kører vi på ferie i en bil der aldrig har været meget fyldt og vi har endda fået ny stor bil. Jeg døjer med hæmorider og så tager vi en klassisk tur rundt med Mikkel der fortæller om alle de ting han synes der skal fikses. Vi starter dog med at rykke et gammelt hønsehus og flytte vores ATV som er gået i stykker. Vi er også en tur i vores kaos af en have, hvor det eneste der fungere er én squash plante, som til gengæld også levere GIGANTISKE squash. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60", 3, 1534, false, "mCkvhf9YDCk", "https://www.youtube.com/watch?v=mCkvhf9YDCk", "/downloads/shows/Livet på gården/Season 2025/s2025e100900 - Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60.mp4", false, ~U[2025-10-09 14:01:15Z]] 02:13:48.148 [debug] QUERY OK source="sources" db=0.2ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.149 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-16 14:00:35Z], 3] 02:13:48.150 [debug] QUERY OK source="media_items" db=0.8ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har vi besøg af min veninde fra København fordi vi er kommet dertil hvor vi skal holde navngivningsfest for vores datter. Vi har slået det store brød op med kæmpe telt i haven og alt harald nyborgs pynt tror jeg nærmest? Derudover har Mikkel besluttet sig for at bygge sit eget gyngestativ til vores nye gynger\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi gør klar til navngivningsfest | Livet på gården Ep. 61", "0cbbc547-4b91-4ee1-98c2-b7dfa8100a44", 3, [], 1491, false, "KMuFnD8X_To", "https://www.youtube.com/watch?v=KMuFnD8X_To", 60, "/downloads/shows/Livet på gården/Season 2025/s2025e101600 - Vi gør klar til navngivningsfest | Livet på gården Ep. 61.mp4", false, false, false, 1, ~U[2025-10-16 14:00:35Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit har vi besøg af min veninde fra København fordi vi er kommet dertil hvor vi skal holde navngivningsfest for vores datter. Vi har slået det store brød op med kæmpe telt i haven og alt harald nyborgs pynt tror jeg nærmest? Derudover har Mikkel besluttet sig for at bygge sit eget gyngestativ til vores nye gynger\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi gør klar til navngivningsfest | Livet på gården Ep. 61", 3, 1491, false, "KMuFnD8X_To", "https://www.youtube.com/watch?v=KMuFnD8X_To", "/downloads/shows/Livet på gården/Season 2025/s2025e101600 - Vi gør klar til navngivningsfest | Livet på gården Ep. 61.mp4", false, ~U[2025-10-16 14:00:35Z]] 02:13:48.151 [debug] QUERY OK source="sources" db=0.1ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.151 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 14:00:02Z], 3] 02:13:48.153 [debug] QUERY OK source="media_items" db=0.8ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode fortsætter vi byggeriet af gyngestativet som skal stå i bunden af haven. Mikkel tegner og fortæller hvordan han laver det og jeg er på en måde blevet praktikant. Jeg er samtidig ved at forberede mig på keramiksalg den forestående weekend og det er lidt mere spændende end normalt fordi jeg denne gang fikser alt selv, eftersom Malene ikke længere er hos mig.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi bygger et gyngestativ | Livet på gården Ep. 62", "ff3b02ab-5900-48c9-80d9-b1f313d0bbea", 3, [], 1384, false, "aSbYAroNsjw", "https://www.youtube.com/watch?v=aSbYAroNsjw", 61, "/downloads/shows/Livet på gården/Season 2025/s2025e102300 - Vi bygger et gyngestativ | Livet på gården Ep. 62.mp4", false, false, false, 1, ~U[2025-10-23 14:00:02Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I denne episode fortsætter vi byggeriet af gyngestativet som skal stå i bunden af haven. Mikkel tegner og fortæller hvordan han laver det og jeg er på en måde blevet praktikant. Jeg er samtidig ved at forberede mig på keramiksalg den forestående weekend og det er lidt mere spændende end normalt fordi jeg denne gang fikser alt selv, eftersom Malene ikke længere er hos mig.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi bygger et gyngestativ | Livet på gården Ep. 62", 3, 1384, false, "aSbYAroNsjw", "https://www.youtube.com/watch?v=aSbYAroNsjw", "/downloads/shows/Livet på gården/Season 2025/s2025e102300 - Vi bygger et gyngestativ | Livet på gården Ep. 62.mp4", false, ~U[2025-10-23 14:00:02Z]] 02:13:48.153 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.154 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 14:00:55Z], 3] 02:13:48.155 [debug] QUERY OK source="media_items" db=0.9ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode 959KRISTINES eller få rabatten via linket her: http://www.hellofresh.dk/959KRISTINES\n\nI denne episode sætter vi langt om længe keramik til salg igen, og det er udsolgt på meget få minutter. Vi er på røven over det må jeg bare sige. Mikkel bygger og vi får besøg af min familie der hjælper til hvor der er brug for det. Julle overtager kameraet mens hun maler og jeg er ved lægen med vores datter. Min far underholder som altid med alle de vanvittige ting han siger og min mor er gået i krig med vasketøjet \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63", "55ea008f-8820-41d4-bc7c-e6c9be7b6ad6", 3, [], 1386, false, "_c08N8LDjq4", "https://www.youtube.com/watch?v=_c08N8LDjq4", 62, "/downloads/shows/Livet på gården/Season 2025/s2025e103000 - Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63.mp4", false, false, false, 1, ~U[2025-10-30 14:00:55Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode 959KRISTINES eller få rabatten via linket her: http://www.hellofresh.dk/959KRISTINES\n\nI denne episode sætter vi langt om længe keramik til salg igen, og det er udsolgt på meget få minutter. Vi er på røven over det må jeg bare sige. Mikkel bygger og vi får besøg af min familie der hjælper til hvor der er brug for det. Julle overtager kameraet mens hun maler og jeg er ved lægen med vores datter. Min far underholder som altid med alle de vanvittige ting han siger og min mor er gået i krig med vasketøjet \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63", 3, 1386, false, "_c08N8LDjq4", "https://www.youtube.com/watch?v=_c08N8LDjq4", "/downloads/shows/Livet på gården/Season 2025/s2025e103000 - Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63.mp4", false, ~U[2025-10-30 14:00:55Z]] 02:13:48.156 [debug] QUERY OK source="sources" db=0.1ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.156 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-06 14:00:48Z], 3] 02:13:48.157 [debug] QUERY OK source="media_items" db=0.8ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi langt om længe gået igang med at male soklen under vores vinduer. Mikkel er ikke just tilfreds med min måde at gøre det på, men det bliver han nok aldrig haha. Willy er blevet besat af at sidde på min skulder og Mikkel synes åbenbart at et pæretræ skal dø? Jeg svare også på spørgsmål jeg ofte får om hvordan det har været at blive mor, når man har et sind som mit.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64", "5e039e76-e0f5-4323-a1f6-cc347bd5d198", 3, [], 1699, false, "NcSqbDLMJCo", "https://www.youtube.com/watch?v=NcSqbDLMJCo", 63, "/downloads/shows/Livet på gården/Season 2025/s2025e110600 - Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64.mp4", false, false, false, 1, ~U[2025-11-06 14:00:48Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit er vi langt om længe gået igang med at male soklen under vores vinduer. Mikkel er ikke just tilfreds med min måde at gøre det på, men det bliver han nok aldrig haha. Willy er blevet besat af at sidde på min skulder og Mikkel synes åbenbart at et pæretræ skal dø? Jeg svare også på spørgsmål jeg ofte får om hvordan det har været at blive mor, når man har et sind som mit.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64", 3, 1699, false, "NcSqbDLMJCo", "https://www.youtube.com/watch?v=NcSqbDLMJCo", "/downloads/shows/Livet på gården/Season 2025/s2025e110600 - Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64.mp4", false, ~U[2025-11-06 14:00:48Z]] 02:13:48.158 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.159 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-13 15:01:37Z], 3] 02:13:48.160 [debug] QUERY OK source="media_items" db=0.8ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dagens afsnit er Mikkel spændt som en flitsbue fordi hans længe ventede drøm om en minilæsser endelig går i opfyldelse og jeg får mig ca. verdens gladeste mand og forhåbenligt lidt ro hahaha. Den er meget velkommen, fordi det er blevet tid til at pille gavlene ned med hjælp fra Mikkels bedste buddy Krog som også er tømrer. Deres mission er at pille 2 gavle ned og bygge dem op igen på 2 dage - et ambitiøst projekt mildt sagt. I kommer med i processen og Mikkel deler han tanker og viden om den slags. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65", "95254515-e302-49a5-bccd-65312ae47a60", 3, [], 1312, false, "bt4dqhzvEu0", "https://www.youtube.com/watch?v=bt4dqhzvEu0", 64, "/downloads/shows/Livet på gården/Season 2025/s2025e111300 - Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65.mp4", false, false, false, 1, ~U[2025-11-13 15:01:37Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dagens afsnit er Mikkel spændt som en flitsbue fordi hans længe ventede drøm om en minilæsser endelig går i opfyldelse og jeg får mig ca. verdens gladeste mand og forhåbenligt lidt ro hahaha. Den er meget velkommen, fordi det er blevet tid til at pille gavlene ned med hjælp fra Mikkels bedste buddy Krog som også er tømrer. Deres mission er at pille 2 gavle ned og bygge dem op igen på 2 dage - et ambitiøst projekt mildt sagt. I kommer med i processen og Mikkel deler han tanker og viden om den slags. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65", 3, 1312, false, "bt4dqhzvEu0", "https://www.youtube.com/watch?v=bt4dqhzvEu0", "/downloads/shows/Livet på gården/Season 2025/s2025e111300 - Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65.mp4", false, ~U[2025-11-13 15:01:37Z]] 02:13:48.160 [debug] QUERY OK source="sources" db=0.1ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.161 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-20 15:01:06Z], 3] 02:13:48.162 [debug] QUERY OK source="media_items" db=0.8ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager Mikkel os med når han viser hvad han har fikset med minilæsseren. Han har gang i den helt store oprydning både det ene og ander sted. Jeg prøver at sidde i minilæsseren for første gang mens Mikkel fortæller hvad den kan. Inde i køkkenet har jeg gang i at langtidskoge ossobuco til baby - og så tager vi jer med i vores planer og forestående indkøb til overetagen. Og det bliver ikke ligefrem gratis. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66", "3b0a6e02-de21-4dec-96f3-8b50ade3dd8f", 3, [], 1694, false, "XO87v1AxbWQ", "https://www.youtube.com/watch?v=XO87v1AxbWQ", 65, "/downloads/shows/Livet på gården/Season 2025/s2025e112000 - Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66.mp4", false, false, false, 1, ~U[2025-11-20 15:01:06Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit tager Mikkel os med når han viser hvad han har fikset med minilæsseren. Han har gang i den helt store oprydning både det ene og ander sted. Jeg prøver at sidde i minilæsseren for første gang mens Mikkel fortæller hvad den kan. Inde i køkkenet har jeg gang i at langtidskoge ossobuco til baby - og så tager vi jer med i vores planer og forestående indkøb til overetagen. Og det bliver ikke ligefrem gratis. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66", 3, 1694, false, "XO87v1AxbWQ", "https://www.youtube.com/watch?v=XO87v1AxbWQ", "/downloads/shows/Livet på gården/Season 2025/s2025e112000 - Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66.mp4", false, ~U[2025-11-20 15:01:06Z]] 02:13:48.163 [debug] QUERY OK source="sources" db=0.3ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.163 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-27 15:01:45Z], 3] 02:13:48.166 [debug] QUERY OK source="media_items" db=1.6ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi gået i køkkenet for at forsøge os med at lave vores egen kimchi, som jo er en form for fermenteret koreansk kål, som Mikkel elsker og spiser i store mængder. Det viser sig som lidt af en videnskab, men ikke desto mindre er Mikkel sjofel som altid og jeg forsøger bare at komme i mål med den kål, hahah. Det er samme dag simba prisen, som vi vinder - men som i nok ved, er jeg mere til kimchi end store sale og mennesker. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi laver hjemmelavet kimchi | Livet på gården Ep. 67", "7312ad7f-a008-4d3b-a240-2e89bc00f099", 3, [], 1232, false, "qDN2-yN1EkI", "https://www.youtube.com/watch?v=qDN2-yN1EkI", 66, "/downloads/shows/Livet på gården/Season 2025/s2025e112700 - Vi laver hjemmelavet kimchi | Livet på gården Ep. 67.mp4", false, false, false, 1, ~U[2025-11-27 15:01:45Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit er vi gået i køkkenet for at forsøge os med at lave vores egen kimchi, som jo er en form for fermenteret koreansk kål, som Mikkel elsker og spiser i store mængder. Det viser sig som lidt af en videnskab, men ikke desto mindre er Mikkel sjofel som altid og jeg forsøger bare at komme i mål med den kål, hahah. Det er samme dag simba prisen, som vi vinder - men som i nok ved, er jeg mere til kimchi end store sale og mennesker. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi laver hjemmelavet kimchi | Livet på gården Ep. 67", 3, 1232, false, "qDN2-yN1EkI", "https://www.youtube.com/watch?v=qDN2-yN1EkI", "/downloads/shows/Livet på gården/Season 2025/s2025e112700 - Vi laver hjemmelavet kimchi | Livet på gården Ep. 67.mp4", false, ~U[2025-11-27 15:01:45Z]] 02:13:48.166 [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" = ?) [3] 02:13:48.167 [debug] QUERY OK source="media_items" db=0.3ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-11 15:01:34Z], 3] 02:13:48.168 [debug] QUERY OK source="media_items" db=0.9ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i for alvor med ovenpå når vi lægger en endelig plan for ruminddelingen af overetagen og Mikkel grubler og fortæller hvorfor noget kan lade sig gøre, og andet ikke kan. Vi skal have gang i det helt store isoleringsarbejde, fordi det for alvor er blevet koldt - så vi knokler på og får slæbt isolering op og går igang. Jeg hjælper så godt jeg kan, men som i ved er Mikkel ikke altid begejstret for det jeg byder ind med. Vi kører timelapse derudaf og runder også \"Brohave bliver bøf\", hvilket Mikkel simpelthen ikke ved hvad er, hahahah\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68", "63a97b62-192c-4faf-b6a7-899be914ff34", 3, [], 1620, false, "kOicCYUbF9Y", "https://www.youtube.com/watch?v=kOicCYUbF9Y", 67, "/downloads/shows/Livet på gården/Season 2025/s2025e121100 - Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68.mp4", false, false, false, 1, ~U[2025-12-11 15:01:34Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit kommer i for alvor med ovenpå når vi lægger en endelig plan for ruminddelingen af overetagen og Mikkel grubler og fortæller hvorfor noget kan lade sig gøre, og andet ikke kan. Vi skal have gang i det helt store isoleringsarbejde, fordi det for alvor er blevet koldt - så vi knokler på og får slæbt isolering op og går igang. Jeg hjælper så godt jeg kan, men som i ved er Mikkel ikke altid begejstret for det jeg byder ind med. Vi kører timelapse derudaf og runder også \"Brohave bliver bøf\", hvilket Mikkel simpelthen ikke ved hvad er, hahahah\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68", 3, 1620, false, "kOicCYUbF9Y", "https://www.youtube.com/watch?v=kOicCYUbF9Y", "/downloads/shows/Livet på gården/Season 2025/s2025e121100 - Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68.mp4", false, ~U[2025-12-11 15:01:34Z]] 02:13:48.169 [debug] QUERY OK source="sources" db=0.2ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.169 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-18 15:00:08Z], 3] 02:13:48.171 [debug] QUERY OK source="media_items" db=0.8ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården sørger vi for at få lukket af med vintermåtter oppe på overetagen. Jeg er i dårligt humør, en dag vi beslutter os for at hænge lyskæder op udenfor, men Mikkel er som altid smart i en fart og fyre alt muligt pis af, hahah. Derudover har vi kæmpe store problemer i hønsegården og har taget en stor beslutning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69", "b6b403f6-695e-4105-aa44-bc95bc09be52", 3, [], 1331, false, "49M-tMeNIb0", "https://www.youtube.com/watch?v=49M-tMeNIb0", 68, "/downloads/shows/Livet på gården/Season 2025/s2025e121800 - Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69.mp4", false, false, false, 1, ~U[2025-12-18 15:00:08Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit af livet på gården sørger vi for at få lukket af med vintermåtter oppe på overetagen. Jeg er i dårligt humør, en dag vi beslutter os for at hænge lyskæder op udenfor, men Mikkel er som altid smart i en fart og fyre alt muligt pis af, hahah. Derudover har vi kæmpe store problemer i hønsegården og har taget en stor beslutning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69", 3, 1331, false, "49M-tMeNIb0", "https://www.youtube.com/watch?v=49M-tMeNIb0", "/downloads/shows/Livet på gården/Season 2025/s2025e121800 - Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69.mp4", false, ~U[2025-12-18 15:00:08Z]] 02:13:48.171 [debug] QUERY OK source="sources" db=0.1ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.172 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-08 15:00:33Z], 3] 02:13:48.173 [debug] QUERY OK source="media_items" db=0.9ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode KRISTINES26 eller få rabatten via linket her: http://www.hellofresh.dk/KRISTINES26\n\nI denne video har vi endelig fundet den helt perfekte brugte trappe som Mikkel henter i Thy, på en trailer der ser pænt spændende ud. Opgaven er så at få den godt på plads inde i laden, indtil den skal monteres i huset. Der er også blevet tomt i hønsehuset for første gang i nærmest alt den tid vi har boet på gården og det synes jeg er ret svært. Jeg er igang i køkkenet og Mikkel fortsætter kampen med at isolere overetagen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71", "cad77762-b3f5-4437-b30a-0d01285cb547", 3, [], 1463, false, "EzliYAXWUnU", "https://www.youtube.com/watch?v=EzliYAXWUnU", 69, "/downloads/shows/Livet på gården/Season 2026/s2026e010800 - En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71.mp4", false, false, false, 1, ~U[2026-01-08 15:00:33Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode KRISTINES26 eller få rabatten via linket her: http://www.hellofresh.dk/KRISTINES26\n\nI denne video har vi endelig fundet den helt perfekte brugte trappe som Mikkel henter i Thy, på en trailer der ser pænt spændende ud. Opgaven er så at få den godt på plads inde i laden, indtil den skal monteres i huset. Der er også blevet tomt i hønsehuset for første gang i nærmest alt den tid vi har boet på gården og det synes jeg er ret svært. Jeg er igang i køkkenet og Mikkel fortsætter kampen med at isolere overetagen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71", 3, 1463, false, "EzliYAXWUnU", "https://www.youtube.com/watch?v=EzliYAXWUnU", "/downloads/shows/Livet på gården/Season 2026/s2026e010800 - En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71.mp4", false, ~U[2026-01-08 15:00:33Z]] 02:13:48.174 [debug] QUERY OK source="sources" db=0.4ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.174 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-15 15:00:57Z], 3] 02:13:48.176 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode har vi os en noget svag hund som er blevet opereret, jeg organiserer til den helt store guldmedalje og så er jeg altså begyndt at preppe og fylde skabene til ekstra op. Mikkel fyre rundt ovenpå og er ved at kunne se enden på isoleringen og så får vi for alvor et kig på hvordan vores hall kommer til at se ud - den bliver jo kæmpe! \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72", "ac825f9b-4b69-4748-bdc5-de561d3ec675", 3, [], 1063, false, "W25cAiJgVl4", "https://www.youtube.com/watch?v=W25cAiJgVl4", 70, "/downloads/shows/Livet på gården/Season 2026/s2026e011500 - Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72.mp4", false, false, false, 1, ~U[2026-01-15 15:00:57Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I denne episode har vi os en noget svag hund som er blevet opereret, jeg organiserer til den helt store guldmedalje og så er jeg altså begyndt at preppe og fylde skabene til ekstra op. Mikkel fyre rundt ovenpå og er ved at kunne se enden på isoleringen og så får vi for alvor et kig på hvordan vores hall kommer til at se ud - den bliver jo kæmpe! \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72", 3, 1063, false, "W25cAiJgVl4", "https://www.youtube.com/watch?v=W25cAiJgVl4", "/downloads/shows/Livet på gården/Season 2026/s2026e011500 - Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72.mp4", false, ~U[2026-01-15 15:00:57Z]] 02:13:48.176 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.177 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 15:01:06Z], 3] 02:13:48.178 [debug] QUERY OK source="media_items" db=0.8ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode sælger vi keramik. I kommer med helt tæt på når jeg forbereder og sætter op. Min mor kommer os til undsætning for at hjælpe med pakkeriet, og jeg er som altid spændt som en flitsbue. Det hele bliver udsolgt på rekordtid og jeg er bare i chok altså. Det er SÅ vildt! \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73", "75e3f204-0a1f-48d4-a415-3ef8b292a2d5", 3, [], 1312, false, "ZhpmiMpVyZw", "https://www.youtube.com/watch?v=ZhpmiMpVyZw", 71, "/downloads/shows/Livet på gården/Season 2026/s2026e012200 - Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73.mp4", false, false, false, 1, ~U[2026-01-22 15:01:06Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I denne episode sælger vi keramik. I kommer med helt tæt på når jeg forbereder og sætter op. Min mor kommer os til undsætning for at hjælpe med pakkeriet, og jeg er som altid spændt som en flitsbue. Det hele bliver udsolgt på rekordtid og jeg er bare i chok altså. Det er SÅ vildt! \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73", 3, 1312, false, "ZhpmiMpVyZw", "https://www.youtube.com/watch?v=ZhpmiMpVyZw", "/downloads/shows/Livet på gården/Season 2026/s2026e012200 - Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73.mp4", false, ~U[2026-01-22 15:01:06Z]] 02:13:48.179 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.179 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 15:01:22Z], 3] 02:13:48.181 [debug] QUERY OK source="media_items" db=0.9ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården er vi mildest talt ufatteligt nervøse. Efter en weekend hvor vi akut måtte kører Carla til dyrlægen, er Mikkel kørt afsted med hende til Viborg hvor hun skal ind til en neurolog, fordi hun opfører sig helt skørt og ved siden af sig selv. I mens forsøger jeg at distrahere mig selv i keramikken. Senere er der dårlig stemning på første salen da det går op for os at Willy bruger isolering som toilet - og så er vi en tur udenfor, for at rydde op efter nedrivningen af gavlene. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74", "e7729bb1-4cf8-474c-9fc3-dc5acbd51928", 3, [], 1476, false, "mJgxlMp3x34", "https://www.youtube.com/watch?v=mJgxlMp3x34", 72, "/downloads/shows/Livet på gården/Season 2026/s2026e012900 - Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74.mp4", false, false, false, 1, ~U[2026-01-29 15:01:22Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit af livet på gården er vi mildest talt ufatteligt nervøse. Efter en weekend hvor vi akut måtte kører Carla til dyrlægen, er Mikkel kørt afsted med hende til Viborg hvor hun skal ind til en neurolog, fordi hun opfører sig helt skørt og ved siden af sig selv. I mens forsøger jeg at distrahere mig selv i keramikken. Senere er der dårlig stemning på første salen da det går op for os at Willy bruger isolering som toilet - og så er vi en tur udenfor, for at rydde op efter nedrivningen af gavlene. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74", 3, 1476, false, "mJgxlMp3x34", "https://www.youtube.com/watch?v=mJgxlMp3x34", "/downloads/shows/Livet på gården/Season 2026/s2026e012900 - Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74.mp4", false, ~U[2026-01-29 15:01:22Z]] 02:13:48.181 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.182 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 15:01:29Z], 3] 02:13:48.183 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video fortsætter byggeriet og jeg får overtalt Mikkel til selv at tage kameraet med op og fortælle lidt mere teknisk om hvad han laver og hvorfor - og så har han lavet en timelapse (så cute). Mens der sker gevaldige fremskridt på første salen, er min første sal udfordret. Jeg er træt med træt på. Der er også kommet sne på gården og så opdatere jeg på hvordan det går med Carla. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75", "cf898ad9-7680-4d2e-93ed-12ff48256bcc", 3, [], 1929, false, "o4CgI8DjMPw", "https://www.youtube.com/watch?v=o4CgI8DjMPw", 73, "/downloads/shows/Livet på gården/Season 2026/s2026e020500 - Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75.mp4", false, false, false, 1, ~U[2026-02-05 15:01:29Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I denne video fortsætter byggeriet og jeg får overtalt Mikkel til selv at tage kameraet med op og fortælle lidt mere teknisk om hvad han laver og hvorfor - og så har han lavet en timelapse (så cute). Mens der sker gevaldige fremskridt på første salen, er min første sal udfordret. Jeg er træt med træt på. Der er også kommet sne på gården og så opdatere jeg på hvordan det går med Carla. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75", 3, 1929, false, "o4CgI8DjMPw", "https://www.youtube.com/watch?v=o4CgI8DjMPw", "/downloads/shows/Livet på gården/Season 2026/s2026e020500 - Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75.mp4", false, ~U[2026-02-05 15:01:29Z]] 02:13:48.184 [debug] QUERY OK source="sources" db=0.2ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.185 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-12 15:01:16Z], 3] 02:13:48.186 [debug] QUERY OK source="media_items" db=0.9ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården går Mikkel i krig med at rette gulvet op på overetagen og får lagt en en gulvspånplader. Der er nedslående nyheder fra Krog, the man of all men, som er vores mest pålidelige hjælp - og så tager vi altså en snak om økonomien i en renovering som vores. Hvad har overetagen kostet indtil videre? Og hvad regner vi med at bruge? Mikkel tegner og fortæller grundigt om den endelige planløsning som nu er fastlagt - og nårh ja, så har jeg fået min menstruation for første gang siden fødslen og det er ikke for tøsedrenge\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76", "5af61602-145c-4272-aca0-93614ad701c8", 3, [], 1827, false, "gZRnKqaiy3k", "https://www.youtube.com/watch?v=gZRnKqaiy3k", 74, "/downloads/shows/Livet på gården/Season 2026/s2026e021200 - Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76.mp4", false, false, false, 1, ~U[2026-02-12 15:01:16Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit af livet på gården går Mikkel i krig med at rette gulvet op på overetagen og får lagt en en gulvspånplader. Der er nedslående nyheder fra Krog, the man of all men, som er vores mest pålidelige hjælp - og så tager vi altså en snak om økonomien i en renovering som vores. Hvad har overetagen kostet indtil videre? Og hvad regner vi med at bruge? Mikkel tegner og fortæller grundigt om den endelige planløsning som nu er fastlagt - og nårh ja, så har jeg fået min menstruation for første gang siden fødslen og det er ikke for tøsedrenge\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76", 3, 1827, false, "gZRnKqaiy3k", "https://www.youtube.com/watch?v=gZRnKqaiy3k", "/downloads/shows/Livet på gården/Season 2026/s2026e021200 - Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76.mp4", false, ~U[2026-02-12 15:01:16Z]] 02:13:48.187 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.188 [debug] QUERY OK source="media_items" db=0.4ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-19 15:01:02Z], 3] 02:13:48.189 [debug] QUERY OK source="media_items" db=0.8ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit trodser vi kulden og begynder at måle op og lægge planer for udvidelsen af mit keramikværksted som vi har planer om. Mikkel hjælper mig med at lave tørreplader af gips til keramikken - og så snakker vi om hvad folk på reddit synes om os. Jeg tager jer også med lidt mere i detaljen af hvordan det foregår når jeg blandt andet glasere kopper. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77", "ea6a857c-9059-4935-8407-b0c0bc5dfc72", 3, [], 1488, false, "XPD5zoS3yLA", "https://www.youtube.com/watch?v=XPD5zoS3yLA", 75, "/downloads/shows/Livet på gården/Season 2026/s2026e021900 - Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77.mp4", false, false, false, 1, ~U[2026-02-19 15:01:02Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit trodser vi kulden og begynder at måle op og lægge planer for udvidelsen af mit keramikværksted som vi har planer om. Mikkel hjælper mig med at lave tørreplader af gips til keramikken - og så snakker vi om hvad folk på reddit synes om os. Jeg tager jer også med lidt mere i detaljen af hvordan det foregår når jeg blandt andet glasere kopper. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77", 3, 1488, false, "XPD5zoS3yLA", "https://www.youtube.com/watch?v=XPD5zoS3yLA", "/downloads/shows/Livet på gården/Season 2026/s2026e021900 - Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77.mp4", false, ~U[2026-02-19 15:01:02Z]] 02:13:48.190 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.190 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 15:00:51Z], 3] 02:13:48.192 [debug] QUERY OK source="media_items" db=1.0ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nSpar op til 959 kroner på dine første 5 måltidskasser og få gratis snacks med de første 3 måneder med min kode: KRISTINES2026\nEller få rabatten helt automatisk ved brug af dette link: http://www.hellofresh.dk/KRISTINES2026\n\ndenne video er vores længe ventede 3D printer endelig kommet hjem - noget vi har set frem til og særligt Mikkel som den grej freak han er, synes det er spændende. Vi samler den og prøver den af - og sikke en verden! I kommer med i køkkenet hvor den står på en smule primitiv madlavning fordi køkkenet flyder, fordi der er VVS arbejde igang og så viser jeg nogle af de sager vi har printet frem. Og er meget fascineret. Vi er også i sving med den helt store rengøring inden Rasmus Brohave kommer på besøg og skal overnatte - og det er jo ingen hemmelighed at min rengøringsstandard ikke helt lever op til den meget pæne mands, haha\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi har købt en 3D printer! | Livet på gården Ep. 78", "45ede4f1-4ca9-4f76-8d0f-d04c55d34a39", 3, [], 1391, false, "Op8Tlzdn5eo", "https://www.youtube.com/watch?v=Op8Tlzdn5eo", 76, "/downloads/shows/Livet på gården/Season 2026/s2026e022600 - Vi har købt en 3D printer! | Livet på gården Ep. 78.mp4", false, false, false, 1, ~U[2026-02-26 15:00:51Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "Denne video indeholder reklame for HelloFresh. \n\nSpar op til 959 kroner på dine første 5 måltidskasser og få gratis snacks med de første 3 måneder med min kode: KRISTINES2026\nEller få rabatten helt automatisk ved brug af dette link: http://www.hellofresh.dk/KRISTINES2026\n\ndenne video er vores længe ventede 3D printer endelig kommet hjem - noget vi har set frem til og særligt Mikkel som den grej freak han er, synes det er spændende. Vi samler den og prøver den af - og sikke en verden! I kommer med i køkkenet hvor den står på en smule primitiv madlavning fordi køkkenet flyder, fordi der er VVS arbejde igang og så viser jeg nogle af de sager vi har printet frem. Og er meget fascineret. Vi er også i sving med den helt store rengøring inden Rasmus Brohave kommer på besøg og skal overnatte - og det er jo ingen hemmelighed at min rengøringsstandard ikke helt lever op til den meget pæne mands, haha\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi har købt en 3D printer! | Livet på gården Ep. 78", 3, 1391, false, "Op8Tlzdn5eo", "https://www.youtube.com/watch?v=Op8Tlzdn5eo", "/downloads/shows/Livet på gården/Season 2026/s2026e022600 - Vi har købt en 3D printer! | Livet på gården Ep. 78.mp4", false, ~U[2026-02-26 15:00:51Z]] 02:13:48.193 [debug] QUERY OK source="sources" db=0.2ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.193 [debug] QUERY OK source="media_items" db=0.3ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-05 15:00:58Z], 3] 02:13:48.195 [debug] QUERY OK source="media_items" db=0.9ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården er der virkelig gang i den. Vi starter ugen ud med at have Rasmus Brohave til overnatning - og han får den store rundtur. Sneen er for alvor kommet på besøg og Mikkel har naturligvis travlt med at komme ud i minilæsseren i en fart - og helt frivilligt tager han kameraet med, så i kan se hvordan det foregår at rydde vores meget lange grusvej. Mine forældre er på besøg - og som altid hjælper min mor med noget husligt og min far tilslutter sig Mikkel og byggeriet - jeg laver babymad og så er jeg blevet besat af surdej. Og nårh jo, så er min baby begyndt at sove om natten.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79", "1d06954b-7f56-4d9b-a78d-ba8231ba2dcc", 3, [], 1601, false, "Th4fpPdHVU0", "https://www.youtube.com/watch?v=Th4fpPdHVU0", 77, "/downloads/shows/Livet på gården/Season 2026/s2026e030500 - Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79.mkv", false, false, false, 1, ~U[2026-03-05 15:00:58Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit af livet på gården er der virkelig gang i den. Vi starter ugen ud med at have Rasmus Brohave til overnatning - og han får den store rundtur. Sneen er for alvor kommet på besøg og Mikkel har naturligvis travlt med at komme ud i minilæsseren i en fart - og helt frivilligt tager han kameraet med, så i kan se hvordan det foregår at rydde vores meget lange grusvej. Mine forældre er på besøg - og som altid hjælper min mor med noget husligt og min far tilslutter sig Mikkel og byggeriet - jeg laver babymad og så er jeg blevet besat af surdej. Og nårh jo, så er min baby begyndt at sove om natten.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79", 3, 1601, false, "Th4fpPdHVU0", "https://www.youtube.com/watch?v=Th4fpPdHVU0", "/downloads/shows/Livet på gården/Season 2026/s2026e030500 - Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79.mkv", false, ~U[2026-03-05 15:00:58Z]] 02:13:48.195 [debug] QUERY OK source="sources" db=0.2ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.196 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-12 15:00:58Z], 3] 02:13:48.197 [debug] QUERY OK source="media_items" db=0.8ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er mine forældre på besøg og min mor og jeg sætter os for langt om længe at få støbt nogle fugtkasser til mig, som er et uundværligt redskab i keramikværkstedet. Jeg er efter lang tids pause tilbage ved bageriet og kaster mig over nogle virale chokoladeboller - og så har vvs'eren været på for at etablere pexslanger til kold og varm vand, så Mikkel nu kan komme videre med tømrerdelen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80", "36ed53ca-ec5b-412d-8df3-a25b9d4aa9ac", 3, [], 1829, false, "WZAGvRqldgo", "https://www.youtube.com/watch?v=WZAGvRqldgo", 78, "/downloads/shows/Livet på gården/Season 2026/s2026e031200 - Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80.mkv", false, false, false, 1, ~U[2026-03-12 15:00:58Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit er mine forældre på besøg og min mor og jeg sætter os for langt om længe at få støbt nogle fugtkasser til mig, som er et uundværligt redskab i keramikværkstedet. Jeg er efter lang tids pause tilbage ved bageriet og kaster mig over nogle virale chokoladeboller - og så har vvs'eren været på for at etablere pexslanger til kold og varm vand, så Mikkel nu kan komme videre med tømrerdelen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80", 3, 1829, false, "WZAGvRqldgo", "https://www.youtube.com/watch?v=WZAGvRqldgo", "/downloads/shows/Livet på gården/Season 2026/s2026e031200 - Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80.mkv", false, ~U[2026-03-12 15:00:58Z]] 02:13:48.198 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.199 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 15:01:40Z], 3] 02:13:48.201 [debug] QUERY OK source="media_items" db=0.8ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit prøver jeg at bage med min surdej for aller første gang - det viser sig jo at være en lang proces, men det jeg tror faktisk det går okay? Mikkel er i fuld gang med at bygge skillevægge på første salen og han tager kameraet med og fortæller hvordan og hvorledes - og laver timelapse af processen. Malene kommer på besøg efter mange måneder - og hvad laver hun egentlig nu? Det runder vi - og så tager vi en status på forretningsdelen i keramikken og snakker om hvordan det går. Og så har jeg lavet kopper til et særligt par. Malene kan ikke gætte hvem de er til - men det kan du måske? \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81", "273c1061-3868-47be-b8e9-8847c8c3f928", 3, [], 1440, false, "wvCb1ystnC0", "https://www.youtube.com/watch?v=wvCb1ystnC0", 79, "/downloads/shows/Livet på gården/Season 2026/s2026e031900 - Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81.mkv", false, false, false, 1, ~U[2026-03-19 15:01:40Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit prøver jeg at bage med min surdej for aller første gang - det viser sig jo at være en lang proces, men det jeg tror faktisk det går okay? Mikkel er i fuld gang med at bygge skillevægge på første salen og han tager kameraet med og fortæller hvordan og hvorledes - og laver timelapse af processen. Malene kommer på besøg efter mange måneder - og hvad laver hun egentlig nu? Det runder vi - og så tager vi en status på forretningsdelen i keramikken og snakker om hvordan det går. Og så har jeg lavet kopper til et særligt par. Malene kan ikke gætte hvem de er til - men det kan du måske? \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81", 3, 1440, false, "wvCb1ystnC0", "https://www.youtube.com/watch?v=wvCb1ystnC0", "/downloads/shows/Livet på gården/Season 2026/s2026e031900 - Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81.mkv", false, ~U[2026-03-19 15:01:40Z]] 02:13:48.201 [debug] QUERY OK source="sources" db=0.2ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.202 [debug] QUERY OK source="media_items" db=0.4ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-26 15:01:31Z], 3] 02:13:48.203 [debug] QUERY OK source="media_items" db=0.8ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har Mikkel for alvor taget mine ord til sig og taget kameraet med ovenpå mens han er i fuld gang med gulvvarmen - han går i detaljer med hvordan han gør og hvilke tanker han har gjort sig om processen. Blandt andet fortæller han hvordan han har valgt at lave et \"svømmende gulv\". Vi er på årets første have vandring og beslutter os for nu at sætte alt ind på at den køkkenhave skal komme til at spille. Alt skal væk og etableres helt på ny!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82", "1271cfd6-bf67-4f99-a71f-4dcf172610a5", 3, [], 1393, false, "pxD1_Ax0eMI", "https://www.youtube.com/watch?v=pxD1_Ax0eMI", 80, "/downloads/shows/Livet på gården/Season 2026/s2026e032600 - Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82.mkv", false, false, false, 1, ~U[2026-03-26 15:01:31Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I denne video har Mikkel for alvor taget mine ord til sig og taget kameraet med ovenpå mens han er i fuld gang med gulvvarmen - han går i detaljer med hvordan han gør og hvilke tanker han har gjort sig om processen. Blandt andet fortæller han hvordan han har valgt at lave et \"svømmende gulv\". Vi er på årets første have vandring og beslutter os for nu at sætte alt ind på at den køkkenhave skal komme til at spille. Alt skal væk og etableres helt på ny!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82", 3, 1393, false, "pxD1_Ax0eMI", "https://www.youtube.com/watch?v=pxD1_Ax0eMI", "/downloads/shows/Livet på gården/Season 2026/s2026e032600 - Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82.mkv", false, ~U[2026-03-26 15:01:31Z]] 02:13:48.204 [debug] QUERY OK source="sources" db=0.2ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:13:48.205 [debug] QUERY OK source="media_items" db=0.3ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-02 14:00:55Z], 3] 02:13:48.207 [debug] QUERY OK source="media_items" db=0.8ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit går vi for alvor igang med den stor omvæltning af køkkenhaven. Vi rydder drivhuset, fjerner alle bedene og jævner jorden så vi kan starte helt forfra. Vi har købt en drone, så som noget nyt er i også med fra luften og kan se hvordan det går når vi kører med minilæsseren, jævner sand ud og lægger helt ny ukrudtsdug. Jeg gør også klar til endnu et keramiksalg og i er med når jeg forbereder og tager billeder af alle sagerne. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83", "373a9117-77c5-4526-9613-029ce6475550", 3, [], 1291, false, "dZk6prUzZkw", "https://www.youtube.com/watch?v=dZk6prUzZkw", 81, "/downloads/shows/Livet på gården/Season 2026/s2026e040200 - Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83.mkv", false, false, false, 1, ~U[2026-04-02 14:00:55Z], ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], "I dette afsnit går vi for alvor igang med den stor omvæltning af køkkenhaven. Vi rydder drivhuset, fjerner alle bedene og jævner jorden så vi kan starte helt forfra. Vi har købt en drone, så som noget nyt er i også med fra luften og kan se hvordan det går når vi kører med minilæsseren, jævner sand ud og lægger helt ny ukrudtsdug. Jeg gør også klar til endnu et keramiksalg og i er med når jeg forbereder og tager billeder af alle sagerne. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83", 3, 1291, false, "dZk6prUzZkw", "https://www.youtube.com/watch?v=dZk6prUzZkw", "/downloads/shows/Livet på gården/Season 2026/s2026e040200 - Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83.mkv", false, ~U[2026-04-02 14:00:55Z]] 02:13:48.208 [debug] QUERY OK source="sources" db=0.1ms idle=5.3ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z], 3] 02:13:48.208 [debug] QUERY OK source="media_items" db=0.5ms idle=4.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 02:13:48.210 [debug] QUERY OK source="media_items" db=0.4ms idle=5.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 02:13:48.210 [debug] QUERY OK source="media_items" db=0.1ms idle=4.7ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 02:13:48.212 [debug] QUERY OK source="tasks" db=0.1ms idle=3.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [4840, 3, ~U[2026-04-16 00:13:48Z], ~U[2026-04-16 00:13:48Z]] 02:13:48.212 [info] {"args":{"id":3},"id":4836,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":217259261,"event":"job:stop","queue_time":208814,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 02:13:57.856 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:00.753 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:14:27.857 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:57.858 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:00.754 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:15:27.859 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:57.860 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:00.755 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:16:27.861 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:57.862 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:00.756 [info] {"source":"oban","duration":212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:17:27.863 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:57.864 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:00.757 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:18:27.865 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:57.866 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:00.758 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:19:27.867 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:57.868 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:00.759 [info] {"source":"oban","duration":154,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:20:27.869 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:57.870 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:00.760 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:21:27.871 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:57.872 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:00.761 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:22:27.872 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:57.874 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:00.762 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:23:27.875 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:57.876 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:00.763 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:24:27.877 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:57.878 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:00.764 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:25:27.879 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:57.880 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:00.765 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:26:27.881 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:57.882 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:00.766 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:27:27.883 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:57.884 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:00.767 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:28:27.885 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:57.886 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:00.768 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:29:27.887 [info] {"source":"oban","duration":1093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:57.889 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:00.769 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:30:27.890 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:57.891 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:00.770 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:31:27.892 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:57.893 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:00.771 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:32:27.894 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:57.898 [info] {"source":"oban","duration":1266,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:00.772 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:33:27.900 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:57.901 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:00.773 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:34:27.902 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:57.903 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:00.774 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:35:27.904 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:57.905 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:00.775 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:36:27.906 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:57.907 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:00.776 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:37:27.908 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:57.909 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:00.777 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:38:27.910 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:57.911 [info] {"source":"oban","duration":977,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:00.778 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:39:27.913 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:57.914 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:00.779 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:40:27.915 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:57.916 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:00.780 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:41:27.917 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:57.918 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:00.781 [info] {"source":"oban","duration":230,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:42:27.919 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:57.920 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:00.782 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:43:27.921 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:57.922 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:00.783 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:44:27.923 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:57.924 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:00.784 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:45:27.925 [info] {"source":"oban","duration":837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:57.926 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:00.785 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:46:27.927 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:57.928 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:00.786 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:47:27.929 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:57.930 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:00.787 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:48:27.931 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:57.932 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:00.788 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:49:27.933 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:57.934 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:00.789 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:50:27.935 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:57.936 [info] {"source":"oban","duration":895,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:00.790 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:51:27.938 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:57.939 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:00.791 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:52:27.940 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:57.941 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:00.792 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:53:27.942 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:57.943 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:00.793 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:54:27.944 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:57.945 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:00.794 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:55:27.946 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:57.947 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:00.795 [info] {"source":"oban","duration":227,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:56:27.948 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:57.949 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:00.796 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:57:27.950 [info] {"source":"oban","duration":1328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:57.952 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:00.797 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:58:27.953 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:57.954 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:00.798 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:59:27.955 [info] {"source":"oban","duration":908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:57.957 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:00.802 [info] {"source":"oban","duration":2851,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[4841]} 03:00:00.808 [info] {"args":{},"id":4841,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"system_time":1776301200808337526,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","local_data"]} 03:00:00.813 [debug] QUERY OK source="media_items" db=4.0ms idle=1212.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" WHERE ((NOT (m0."media_filepath" IS NULL) AND IFNULL(retention_period_days, 0) > 0 AND DATETIME(media_downloaded_at, '+' || retention_period_days || ' day') < DATETIME('now') ) AND NOT (m0."prevent_culling" = 1)) [] 03:00:00.813 [info] Culling 0 media items past their retention date 03:00:00.817 [debug] QUERY OK source="media_items" db=3.8ms idle=1216.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" WHERE ((NOT (m0."media_filepath" IS NULL) AND NOT ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND NOT (m0."prevent_culling" = 1)) [] 03:00:00.817 [info] Deleting 0 media items that are from before the source cutoff 03:00:00.817 [info] {"args":{},"id":4841,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","duration":9084,"event":"job:stop","queue_time":807420,"attempt":1,"tags":["media_item","local_data"]} 03:00:27.958 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:57.959 [info] {"source":"oban","duration":1190,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:00.803 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:01:27.961 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:57.962 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:00.804 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:02:27.964 [info] {"source":"oban","duration":1518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:57.965 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:00.805 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:03:27.966 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:57.967 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:00.806 [info] {"source":"oban","duration":223,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:04:27.968 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:57.969 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:00.807 [info] {"source":"oban","duration":161,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:05:27.970 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:57.971 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:00.808 [info] {"source":"oban","duration":135,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:06:27.972 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:57.974 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:00.809 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:07:27.975 [info] {"source":"oban","duration":1126,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:57.977 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:00.810 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:08:27.977 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:57.979 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:00.811 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:09:27.980 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:57.981 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:00.812 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:10:27.982 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:57.983 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:00.813 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:11:27.984 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:57.985 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:00.814 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:12:27.986 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:57.987 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:00.815 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:13:27.988 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:57.989 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:00.816 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:14:27.990 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:57.991 [info] {"source":"oban","duration":1358,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:00.817 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:15:27.993 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:57.994 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:00.818 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:16:27.995 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:57.996 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:00.819 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:17:27.997 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:57.998 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:00.820 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:18:27.999 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:58.000 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:00.821 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:19:28.001 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:58.002 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:00.822 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:20:28.003 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:58.004 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:00.823 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:21:28.005 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:58.006 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:00.824 [info] {"source":"oban","duration":127,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:22:28.007 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:58.008 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:00.825 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:23:28.009 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:58.010 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:00.826 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:24:28.011 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:58.012 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:00.827 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:25:28.013 [info] {"source":"oban","duration":564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:58.014 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:00.828 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:26:28.015 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:58.016 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:00.829 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:27:28.017 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:58.018 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:00.830 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:28:28.019 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:58.020 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:00.831 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:29:28.021 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:58.022 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:00.832 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:30:28.023 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:58.024 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:00.833 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:31:28.025 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:58.026 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:00.834 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:32:28.027 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:58.028 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:00.835 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:33:28.029 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:58.030 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:00.836 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:34:28.031 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:58.032 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:00.837 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:35:28.033 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:58.035 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:00.838 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:36:28.036 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:58.037 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:00.839 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:37:28.038 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:58.039 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:00.840 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:38:28.040 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:58.041 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:00.841 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:39:28.042 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:58.043 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:00.842 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:40:28.044 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:58.045 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:00.843 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:41:28.046 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:58.048 [info] {"source":"oban","duration":2501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:00.844 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:42:28.050 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:58.051 [info] {"source":"oban","duration":1473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:00.845 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:43:28.053 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:58.054 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:00.846 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:44:28.055 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:58.056 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:00.847 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:45:28.057 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:58.058 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:00.855 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:46:28.059 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:58.060 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:00.856 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:47:28.061 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:58.062 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:00.857 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:48:28.063 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:58.064 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:00.858 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:49:28.065 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:58.066 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:00.859 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:50:28.067 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:58.068 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:00.860 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:51:28.069 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:58.070 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:00.861 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:52:28.071 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:58.072 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:00.862 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:53:28.073 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:58.074 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:00.864 [info] {"source":"oban","duration":96,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:54:28.075 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:58.076 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:00.864 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:55:28.077 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:58.078 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:00.865 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:56:28.079 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:58.080 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:00.866 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:57:28.080 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:58.082 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:00.867 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:58:28.083 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:58.084 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:00.868 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:59:28.085 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:58.086 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:00.870 [info] {"source":"oban","duration":1346,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[4842]} 04:00:00.877 [info] {"args":{},"id":4842,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1776304800877301481,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaQualityUpgradeWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:00.881 [debug] QUERY OK source="media_items" db=4.1ms idle=1177.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((NOT (m0."media_filepath" IS NULL) AND NOT (m0."prevent_download" = 1)) AND NOT (NOT (m0."media_redownloaded_at" IS NULL))) AND IFNULL(redownload_delay_days, 0) > 0 AND DATE('now', '-' || redownload_delay_days || ' day') > DATE(uploaded_at) AND DATE(media_downloaded_at, '-' || redownload_delay_days || ' day') < DATE(uploaded_at) ) [] 04:00:00.882 [info] Redownloading 1 media items 04:00:00.883 [debug] QUERY OK source="tasks" db=0.1ms idle=12.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [4843, 162565, ~U[2026-04-16 02:00:00Z], ~U[2026-04-16 02:00:00Z]] 04:00:00.884 [info] {"args":{},"id":4842,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaQualityUpgradeWorker","source":"oban","duration":6539,"event":"job:stop","queue_time":876419,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:00.891 [info] {"args":{"id":162565,"quality_upgrade?":true},"id":4843,"meta":{},"system_time":1776304800890883206,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:00.892 [debug] QUERY OK source="media_items" db=0.3ms idle=8.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [162565] 04:00:00.892 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:00:00.892 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [5] 04:00:00.895 [debug] QUERY OK source="media_metadata" db=0.2ms idle=11.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [162565] 04:00:00.896 [debug] QUERY OK source="media_profiles" db=0.4ms idle=11.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 04:00:00.897 [debug] QUERY OK source="settings" db=0.4ms 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 [] 04:00:00.898 [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 [] 04:00:00.898 [debug] Running yt-dlp command for action: get_downloadable_status 04:00:00.899 [debug] QUERY OK source="settings" db=0.1ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:00.899 [debug] QUERY OK source="settings" db=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:00.900 [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 [] 04:00:00.901 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k1PV5squdbY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/86/cd/86cd22fd910067598583c8f42838c01014685788f9eca8779c54276368a13409.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:00:06.656 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k1PV5squdbY --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/86/cd/86cd22fd910067598583c8f42838c01014685788f9eca8779c54276368a13409.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 04:00:06.656 [debug] Running yt-dlp command for action: download 04:00:06.658 [debug] QUERY OK source="settings" db=1.2ms idle=1956.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:06.658 [debug] QUERY OK source="settings" db=0.3ms idle=1957.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:06.659 [debug] QUERY OK source="settings" db=0.1ms idle=1958.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:06.659 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k1PV5squdbY --no-simulate --no-progress --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/shows/TechLinked/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor,interaction --output /downloads/shows/TechLinked/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/92/06/9206339f3fc924e3590ae3516ee77c95054b0c54d0ea9180cff6ebd79b4fd830.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:00:19.963 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k1PV5squdbY --no-simulate --no-progress --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/shows/TechLinked/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor,interaction --output /downloads/shows/TechLinked/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/92/06/9206339f3fc924e3590ae3516ee77c95054b0c54d0ea9180cff6ebd79b4fd830.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: WARNING: Replacing existing file "/downloads/shows/TechLinked/Season 2026/s2026e041499 - This Could Be Cataclysmic-thumb.jpg" 04:00:19.999 [debug] Running yt-dlp command for action: download_thumbnail 04:00:20.000 [debug] QUERY OK source="settings" db=0.1ms idle=1299.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:20.000 [debug] QUERY OK source="settings" db=0.2ms idle=706.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:20.001 [debug] QUERY OK source="settings" db=0.1ms idle=300.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 04:00:20.001 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k1PV5squdbY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/162565/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/62/c3/62c364b756bbc55e11be8b50442f066e10de09723363f4b48d5fa55520a9be3c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 04:00:25.647 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=k1PV5squdbY --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/162565/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/62/c3/62c364b756bbc55e11be8b50442f066e10de09723363f4b48d5fa55520a9be3c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 04:00:25.651 [debug] QUERY OK source="media_items" db=3.5ms idle=1947.4ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "predicted_media_filepath" = ?, "updated_at" = ? WHERE "id" = ? [431, ~U[2026-04-16 02:00:19Z], "/downloads/shows/TechLinked/Season 2026/s2026e041499 - This Could Be Cataclysmic.mkv", ~U[2026-04-16 02:00:25Z], 162565] 04:00:25.653 [debug] QUERY OK source="media_items" db=1.4ms idle=1951.2ms UPDATE "media_items" SET "media_redownloaded_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-16 02:00:25Z], ~U[2026-04-16 02:00:25Z], 162565] 04:00:25.653 [info] User scripts lifecyle file either not present or is empty. Skipping. 04:00:25.653 [info] {"args":{"id":162565,"quality_upgrade?":true},"id":4843,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":24762654,"event":"job:stop","queue_time":889435,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:28.087 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:58.088 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:00.871 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:01:28.089 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:58.090 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:00.872 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:02:28.091 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:58.092 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:00.873 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:03:28.093 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:58.094 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:00.874 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:04:28.095 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:58.096 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:00.875 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:05:28.097 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:58.098 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:00.876 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:06:28.099 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:58.100 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:00.877 [info] {"source":"oban","duration":166,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:07:28.101 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:58.103 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:00.878 [info] {"source":"oban","duration":135,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:08:28.104 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:58.105 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:00.879 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:09:28.106 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:58.107 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:00.880 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:10:28.108 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:58.110 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:00.881 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:11:28.111 [info] {"source":"oban","duration":991,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:58.113 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:00.882 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:12:28.114 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:58.115 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:00.883 [info] {"source":"oban","duration":230,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:13:28.116 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:58.117 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:00.884 [info] {"source":"oban","duration":328,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:14:28.118 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:58.119 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:00.885 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:15:28.120 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:58.121 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:00.886 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:16:28.122 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:58.123 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:00.887 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:17:28.124 [info] {"source":"oban","duration":1121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:58.126 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:00.888 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:18:28.127 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:58.128 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:00.889 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:19:28.129 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:58.130 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:00.890 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:20:28.131 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:58.132 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:00.891 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:21:28.133 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:58.134 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:00.892 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:22:28.135 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:58.136 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:00.893 [info] {"source":"oban","duration":149,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:23:28.137 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:58.138 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:00.894 [info] {"source":"oban","duration":106,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:24:28.139 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:58.140 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:00.895 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:25:28.141 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:58.142 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:00.896 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:26:28.143 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:58.144 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:00.897 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:27:28.144 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:58.145 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:00.898 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:28:28.146 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:58.148 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:00.899 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:29:28.149 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:58.150 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:00.900 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:30:28.151 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:58.152 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:00.901 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:31:28.153 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:58.154 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:00.902 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:32:28.155 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:58.156 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:00.903 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:33:28.157 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:58.158 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:00.904 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:34:28.159 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:58.160 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:00.905 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:35:28.161 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:58.162 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:00.906 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:36:28.163 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:58.164 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:00.907 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:37:28.165 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:58.166 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:00.908 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:38:28.167 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:58.168 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:00.909 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:39:28.169 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:58.170 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:00.910 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:40:28.171 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:58.172 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:00.911 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:41:28.173 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:58.174 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:00.912 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:42:28.175 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:58.176 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:00.913 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:43:28.176 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:58.178 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:00.914 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:44:28.179 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:58.180 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:00.915 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:45:28.181 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:58.182 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:00.916 [info] {"source":"oban","duration":242,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:46:28.183 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:58.184 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:00.917 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:47:28.185 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:58.186 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:00.918 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:48:28.187 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:58.188 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:00.919 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:49:28.189 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:58.190 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:00.920 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:50:28.191 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:58.192 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:00.921 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:51:28.193 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:58.194 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:00.922 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:52:28.195 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:58.217 [info] {"source":"oban","duration":17019,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:00.923 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:53:28.219 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:58.220 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:00.924 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:54:28.222 [info] {"source":"oban","duration":837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:29.458 [debug] Tzdata polling for update. 04:54:29.734 [debug] Tzdata polling shows the loaded tz database is up to date. 04:54:58.224 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:00.938 [info] {"source":"oban","duration":1117,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:55:28.225 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:58.227 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:00.939 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:56:28.228 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:58.229 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:00.940 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:57:28.230 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:58.231 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:00.941 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:58:28.232 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:58.233 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:00.942 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:59:28.234 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:58.235 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:00.943 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:00:28.236 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:58.237 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:00.944 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:01:28.238 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:58.239 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:00.945 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:02:28.240 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:58.241 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:00.946 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:03:28.242 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:58.243 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:00.947 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:04:28.244 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:58.245 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:00.948 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:05:28.246 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:58.247 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:00.949 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:06:28.248 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:58.249 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:00.950 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:07:28.250 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:58.251 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:00.951 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:08:28.252 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:58.253 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:00.952 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:09:28.254 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:58.255 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:00.953 [info] {"source":"oban","duration":124,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:10:28.256 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:58.257 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:00.954 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:11:28.258 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:58.259 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:00.955 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:12:28.260 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:58.261 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:00.956 [info] {"source":"oban","duration":236,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:13:28.262 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:58.263 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:00.957 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:14:28.264 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:58.265 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:00.958 [info] {"source":"oban","duration":241,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:15:28.266 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:58.267 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:00.959 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:16:28.268 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:58.269 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:00.960 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:17:28.270 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:58.271 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:00.961 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:18:28.272 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:58.273 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:00.962 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:19:28.274 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:58.275 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:00.963 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:20:28.276 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:58.277 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:00.964 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:21:28.278 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:58.279 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:00.965 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:22:28.280 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:58.281 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:00.966 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:23:28.282 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:58.283 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:00.967 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:24:28.284 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:58.285 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:00.968 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:25:28.286 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:58.287 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:00.969 [info] {"source":"oban","duration":131,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:26:28.288 [info] {"source":"oban","duration":916,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:58.290 [info] {"source":"oban","duration":1518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:00.970 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:27:28.292 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:58.293 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:00.971 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:28:28.294 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:58.295 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:00.972 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:29:28.296 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:58.297 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:00.973 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:30:28.298 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:58.299 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:00.974 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:31:28.300 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:58.300 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:00.975 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:32:28.302 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:58.303 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:00.976 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:33:28.304 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:58.305 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:00.977 [info] {"source":"oban","duration":165,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:34:28.306 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:58.307 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:00.978 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:35:28.308 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:58.309 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:00.979 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:36:28.311 [info] {"source":"oban","duration":1319,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:58.313 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:00.980 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:37:28.314 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:58.315 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:00.981 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:38:28.316 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:58.317 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:00.982 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:39:28.318 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:58.319 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:00.983 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:40:28.321 [info] {"source":"oban","duration":1781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:58.323 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:00.984 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:41:28.324 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:58.325 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:00.985 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:42:28.326 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:58.327 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:00.986 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:43:28.328 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:58.329 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:00.987 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:44:28.330 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:58.331 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:00.988 [info] {"source":"oban","duration":233,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:45:28.332 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:58.333 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:00.989 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:46:28.334 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:58.335 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:00.990 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:47:28.335 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:58.336 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:00.991 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:48:28.338 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:58.339 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:00.992 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:49:28.340 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:58.341 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:00.993 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:50:28.342 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:58.343 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:00.994 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:51:28.344 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:58.345 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:00.995 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:52:28.346 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:58.347 [info] {"source":"oban","duration":1178,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:00.996 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:53:28.349 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:58.350 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:00.997 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:54:28.351 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:58.352 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:00.998 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:55:28.353 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:58.354 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:00.999 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:56:28.355 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:58.356 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:01.000 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:57:28.357 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:58.358 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:00.001 [info] {"source":"oban","duration":107,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:58:28.359 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:58.360 [info] {"source":"oban","duration":820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:00.002 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:59:28.361 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:58.362 [info] {"source":"oban","duration":853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:00.003 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:00:28.364 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:58.365 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:00.004 [info] {"source":"oban","duration":238,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:01:28.366 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:58.367 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:00.005 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:02:28.368 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:58.369 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:00.006 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:03:28.370 [info] {"source":"oban","duration":1033,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:58.372 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:00.007 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:04:28.373 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:58.374 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:00.008 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:05:28.375 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:58.376 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:00.009 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:06:28.377 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:58.378 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:00.010 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:07:28.379 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:58.380 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:00.011 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:08:28.381 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:58.382 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:00.012 [info] {"source":"oban","duration":230,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:09:28.383 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:58.384 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:00.013 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:10:28.385 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:58.386 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:00.015 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:11:28.387 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:58.388 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:00.015 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:12:28.389 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:58.390 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:00.016 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:13:28.391 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:58.392 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:00.017 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:14:28.393 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:58.394 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:00.018 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:15:28.395 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:58.396 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:00.020 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:16:28.397 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:58.398 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:00.020 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:17:28.399 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:58.400 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:00.023 [info] {"source":"oban","duration":1605,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:18:28.401 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:58.402 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:00.023 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:19:28.403 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:58.403 [info] {"source":"oban","duration":553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:00.025 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:20:28.405 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:58.406 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:00.025 [info] {"source":"oban","duration":419,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:21:28.407 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:58.408 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:00.029 [info] {"source":"oban","duration":1629,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:22:28.409 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:58.410 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:00.029 [info] {"source":"oban","duration":233,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:23:28.411 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:58.412 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:00.031 [info] {"source":"oban","duration":1092,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:24:28.413 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:58.414 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:00.033 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:25:28.415 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:58.416 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:00.033 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:26:28.418 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:58.419 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:00.034 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:27:28.420 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:58.421 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:00.036 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:28:28.422 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:58.423 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:00.037 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:29:28.424 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:58.425 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:00.039 [info] {"source":"oban","duration":1531,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:30:28.426 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:58.427 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:00.040 [info] {"source":"oban","duration":940,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:31:28.428 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:58.429 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:00.041 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:32:28.430 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:58.431 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:00.043 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:33:28.432 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:58.433 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:00.044 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:34:28.490 [info] {"source":"oban","duration":29177,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:58.491 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:00.047 [info] {"source":"oban","duration":2163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:35:28.492 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:58.493 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:00.049 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:36:28.493 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:58.494 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:00.050 [info] {"source":"oban","duration":242,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:37:28.496 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:58.497 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:00.051 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:38:28.498 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:58.499 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:00.052 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:39:28.500 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:58.501 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:00.053 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:40:28.502 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:58.503 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:00.054 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:41:28.504 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:58.505 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:00.055 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:42:28.506 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:58.507 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:00.056 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:43:28.508 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:58.509 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:00.057 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:44:28.510 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:58.511 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:00.058 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:45:28.512 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:58.513 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:00.059 [info] {"source":"oban","duration":298,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:46:28.514 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:58.515 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:00.060 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:47:28.516 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:58.517 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:00.061 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:48:28.518 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:58.519 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:00.062 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:49:28.520 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:58.521 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:00.063 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:50:28.522 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:58.523 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:00.064 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:51:28.524 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:58.525 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:00.065 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:52:28.525 [info] {"source":"oban","duration":519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:58.527 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:00.066 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:53:28.528 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:58.529 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:00.067 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:54:28.530 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:58.531 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:00.068 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:55:28.532 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:58.533 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:00.069 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:56:28.534 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:58.535 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:00.070 [info] {"source":"oban","duration":212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:57:28.536 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:58.537 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:00.071 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:58:28.538 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:58.539 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:00.072 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:59:28.540 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:58.541 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:00.073 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:00:28.542 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:58.543 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:00.074 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:01:28.544 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:58.545 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:00.075 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:02:28.546 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:58.547 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:00.076 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:03:28.548 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:58.549 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:00.077 [info] {"source":"oban","duration":212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:04:28.550 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:58.551 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:00.078 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:05:28.552 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:58.553 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:00.079 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:06:28.554 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:58.555 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:00.080 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:07:28.556 [info] {"source":"oban","duration":826,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:58.557 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:00.081 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:08:28.557 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:58.572 [info] {"source":"oban","duration":3891,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:00.082 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:09:28.574 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:58.575 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:00.083 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:10:28.576 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:58.577 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:00.084 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:11:28.578 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:58.579 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:00.085 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:12:28.580 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:58.581 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:00.086 [info] {"source":"oban","duration":217,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:13:28.582 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:58.583 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:00.087 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:14:28.584 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:58.585 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:00.088 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:15:28.586 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:58.587 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:00.089 [info] {"source":"oban","duration":250,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:16:28.588 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:58.589 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:00.090 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:17:28.590 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:58.591 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:00.091 [info] {"source":"oban","duration":240,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:18:28.592 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:58.593 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:00.092 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:19:28.594 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:58.595 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:00.093 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:20:28.596 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:58.597 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:00.094 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:21:28.598 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:58.599 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:00.095 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:22:28.600 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:58.601 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:00.096 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:23:28.602 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:58.602 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:00.097 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:24:28.604 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:58.605 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:00.098 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:25:28.606 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:58.607 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:00.099 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:26:28.608 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:58.609 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:00.100 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:27:28.610 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:58.611 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:00.101 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:28:28.612 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:58.613 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:00.102 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:29:28.614 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:58.615 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:00.103 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:30:28.616 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:58.617 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:00.104 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:31:28.618 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:58.619 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:00.105 [info] {"source":"oban","duration":129,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:32:28.620 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:58.621 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:00.106 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:33:28.622 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:58.623 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:00.107 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:34:28.624 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:58.625 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:00.108 [info] {"source":"oban","duration":229,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:35:28.626 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:58.627 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:00.109 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:36:28.628 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:58.629 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:00.110 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:37:28.630 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:58.631 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:00.111 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:38:28.632 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:58.633 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:00.112 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:39:28.634 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:58.634 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:00.113 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:40:28.635 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:58.637 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:00.114 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:41:28.638 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:58.639 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:00.115 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:42:28.642 [info] {"source":"oban","duration":3027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:58.644 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:00.116 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:43:28.673 [info] {"source":"oban","duration":25469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:58.678 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:00.117 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:44:28.679 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:58.680 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:00.118 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:45:28.681 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:58.682 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:00.119 [info] {"source":"oban","duration":224,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:46:28.683 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:58.684 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:00.120 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:47:28.685 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:58.686 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:00.121 [info] {"source":"oban","duration":136,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:48:28.687 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:58.688 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:00.122 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:49:28.689 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:58.690 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:00.123 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:50:28.691 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:58.692 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:00.124 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:51:28.693 [info] {"source":"oban","duration":862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:58.695 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:00.125 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:52:28.696 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:58.697 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:00.126 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:53:28.698 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:58.700 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:00.127 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:54:28.701 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:58.702 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:00.128 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:55:28.703 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:58.704 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:00.129 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:56:28.704 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:58.705 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:00.130 [info] {"source":"oban","duration":243,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:57:28.707 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:58.708 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:00.131 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:58:28.709 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:58.710 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:00.132 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:59:28.711 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:58.712 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:00.133 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:00:28.713 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:58.714 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:00.134 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:01:28.715 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:58.716 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:00.135 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:02:28.717 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:58.718 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:00.136 [info] {"source":"oban","duration":212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:03:28.719 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:58.720 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:00.137 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:04:28.721 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:58.722 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:00.138 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:05:28.723 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:58.724 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:00.140 [info] {"source":"oban","duration":1476,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:06:28.725 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:58.726 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:00.141 [info] {"source":"oban","duration":261,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:07:28.727 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:58.728 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:00.142 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:08:28.730 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:58.731 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:00.143 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:09:28.732 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:58.733 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:00.144 [info] {"source":"oban","duration":285,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:10:28.734 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:58.735 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:00.145 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:11:28.736 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:58.737 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:00.146 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:12:28.738 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:58.739 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:00.147 [info] {"source":"oban","duration":249,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:13:28.740 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:58.741 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:00.148 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:14:28.742 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:58.743 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:00.149 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:15:28.744 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:58.745 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:00.150 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:16:28.746 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:58.749 [info] {"source":"oban","duration":2522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:00.151 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:17:28.750 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:58.763 [info] {"source":"oban","duration":9515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:00.152 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:18:28.764 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:58.765 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:00.153 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:19:28.766 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:58.767 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:00.154 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:20:28.768 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:58.769 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:00.155 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:21:28.770 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:58.771 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:00.156 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:22:28.772 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:58.773 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:00.157 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:23:28.774 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:58.775 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:00.158 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:24:28.776 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:58.777 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:00.159 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:25:28.778 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:58.779 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:00.160 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:26:28.780 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:58.781 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:00.161 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:27:28.782 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:58.783 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:00.162 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:28:28.783 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:58.784 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:00.163 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:29:28.786 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:58.787 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:00.164 [info] {"source":"oban","duration":229,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:30:28.788 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:58.789 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:00.165 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:31:28.790 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:58.791 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:00.166 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:32:28.792 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:58.793 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:00.167 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:33:28.794 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:58.795 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:00.168 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:34:28.796 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:58.797 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:00.169 [info] {"source":"oban","duration":135,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:35:28.798 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:58.799 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:00.170 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:36:28.800 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:58.801 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:00.171 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:37:28.802 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:58.803 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:00.172 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:38:28.804 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:58.805 [info] {"source":"oban","duration":920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:00.173 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:39:28.807 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:58.808 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:00.174 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:40:28.809 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:58.810 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:00.175 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:41:28.811 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:58.812 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:00.176 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:42:28.813 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:58.814 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:00.177 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:43:28.815 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:58.816 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:00.178 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:44:28.817 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:58.818 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:00.179 [info] {"source":"oban","duration":217,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:45:28.819 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:58.820 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:00.180 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:46:28.821 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:58.822 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:00.181 [info] {"source":"oban","duration":222,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:47:28.823 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:58.824 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:00.182 [info] {"source":"oban","duration":241,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:48:28.825 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:58.826 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:00.183 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:49:28.827 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:58.828 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:00.184 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:50:28.829 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:58.830 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:00.185 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:51:28.831 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:58.832 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:00.186 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:52:28.833 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:58.834 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:00.187 [info] {"source":"oban","duration":264,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:53:28.835 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:58.836 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:00.188 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:54:28.837 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:58.838 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:00.189 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:55:28.839 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:58.840 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:00.190 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:56:28.841 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:58.842 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:00.191 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:57:28.843 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:58.844 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:00.192 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:58:28.845 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:58.846 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:00.193 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:59:28.847 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:58.848 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:00.194 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:00:28.849 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:58.849 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:00.195 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:01:28.851 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:58.852 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:00.196 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:02:28.853 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:58.854 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:00.197 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:03:28.855 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:58.856 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:00.198 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:04:28.857 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:58.858 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:00.199 [info] {"source":"oban","duration":227,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:05:28.859 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:58.860 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:00.200 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:06:28.861 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:58.862 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:00.201 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:07:28.863 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:58.864 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:00.202 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:08:28.865 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:58.866 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:00.203 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:09:28.867 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:58.868 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:00.204 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:10:28.869 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:58.870 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:00.205 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:11:28.871 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:58.872 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:00.206 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:12:28.873 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:58.874 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:00.207 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:13:28.875 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:58.876 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:00.208 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:14:28.877 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:58.878 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:00.209 [info] {"source":"oban","duration":269,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:15:28.879 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:58.880 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:00.210 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:16:28.881 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:58.882 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:00.211 [info] {"source":"oban","duration":233,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:17:28.883 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:58.884 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:00.212 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:18:28.885 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:58.886 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:00.213 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:19:28.887 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:58.888 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:00.214 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:20:28.889 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:58.890 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:00.215 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:21:28.891 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:58.892 [info] {"source":"oban","duration":806,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:00.216 [info] {"source":"oban","duration":98,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:22:28.893 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:58.894 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:00.217 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:23:28.895 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:58.896 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:00.218 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:24:28.897 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:58.898 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:00.219 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:25:28.899 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:58.900 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:00.220 [info] {"source":"oban","duration":231,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:26:28.901 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:58.902 [info] {"source":"oban","duration":914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:00.221 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:27:28.904 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:58.905 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:00.222 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:28:28.906 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:58.907 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:00.226 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:29:28.908 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:58.909 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:00.227 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:30:28.910 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:58.911 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:00.228 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:31:28.912 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:58.913 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:00.229 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:32:28.914 [info] {"source":"oban","duration":1038,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:58.915 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:00.230 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:33:28.917 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:58.918 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:00.231 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:34:28.919 [info] {"source":"oban","duration":628,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:58.920 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:00.232 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:35:28.921 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:58.922 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:00.233 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:36:28.923 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:58.924 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:00.234 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:37:28.925 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:58.926 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:00.235 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:38:28.927 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:58.928 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:00.236 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:39:28.929 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:58.930 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:00.237 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:40:28.931 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:58.932 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:00.238 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:41:28.933 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:58.934 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:00.239 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:42:28.935 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:58.937 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:00.240 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:43:28.938 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:58.939 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:00.241 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:44:28.940 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:58.941 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:00.242 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:45:28.942 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:58.943 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:00.243 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:46:28.944 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:58.945 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:00.244 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:47:28.946 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:58.947 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:00.245 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:48:28.947 [info] {"source":"oban","duration":536,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:58.949 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:00.246 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:49:28.950 [info] {"source":"oban","duration":968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:58.952 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:00.247 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:50:28.953 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:58.955 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:00.248 [info] {"source":"oban","duration":227,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:51:28.956 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:58.957 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:00.249 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:52:28.958 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:58.959 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:00.250 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:53:28.960 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:58.961 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:00.251 [info] {"source":"oban","duration":240,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:54:28.962 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:58.963 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:00.252 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:55:28.964 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:58.965 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:00.253 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:56:28.966 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:58.967 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:00.254 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:57:28.968 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:58.969 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:00.255 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:58:28.970 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:58.971 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:00.256 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:59:28.972 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:58.973 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:00.257 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:00:28.974 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:58.975 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:00.258 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:01:28.976 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:58.978 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:00.259 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:02:28.979 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:58.980 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:00.260 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:03:28.981 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:58.982 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:00.261 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:04:28.983 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:58.984 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:00.262 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:05:28.985 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:58.987 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:00.263 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:06:28.988 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:58.989 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:00.264 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:07:28.990 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:58.991 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:00.265 [info] {"source":"oban","duration":156,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:08:28.992 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:58.993 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:00.266 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:09:28.994 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:58.995 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:00.267 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:10:28.996 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:58.997 [info] {"source":"oban","duration":816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:00.268 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:11:28.998 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:58.999 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:00.269 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:12:29.000 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:59.002 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:00.270 [info] {"source":"oban","duration":228,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:13:29.003 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:59.004 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:00.271 [info] {"source":"oban","duration":228,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:14:29.005 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:59.006 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:00.272 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:15:29.007 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:59.008 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:00.273 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:16:29.009 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:59.010 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:00.274 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:17:29.011 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:59.012 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:00.275 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:18:29.013 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:59.014 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:00.276 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:19:29.015 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:59.015 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:00.277 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:20:29.017 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:59.018 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:00.278 [info] {"source":"oban","duration":239,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:21:29.019 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:59.020 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:00.279 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:22:29.021 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:59.023 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:00.280 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:23:29.024 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:59.025 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:00.281 [info] {"source":"oban","duration":125,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:24:29.026 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:59.027 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:00.282 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:25:29.028 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:59.029 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:00.283 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:26:29.030 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:59.031 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:00.284 [info] {"source":"oban","duration":222,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:27:29.032 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:59.033 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:00.285 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:28:29.034 [info] {"source":"oban","duration":839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:59.035 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:00.286 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:29:29.036 [info] {"source":"oban","duration":1094,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 10:29:59.038 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:00.287 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:30:29.039 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:59.040 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:00.288 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:31:29.041 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:59.042 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:00.289 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:32:29.043 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:59.044 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:00.290 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:33:29.045 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:59.046 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:00.291 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:34:29.047 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:59.048 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:00.292 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:35:29.049 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:59.050 [info] {"source":"oban","duration":1121,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:00.293 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:36:29.052 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:59.053 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:00.294 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:37:29.054 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:59.055 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:00.295 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:38:29.056 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:59.057 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:00.296 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:39:29.058 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:59.059 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:00.297 [info] {"source":"oban","duration":118,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:40:29.060 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:59.061 [info] {"source":"oban","duration":815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:00.298 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:41:29.063 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:59.064 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:00.299 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:42:29.065 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:59.066 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:00.300 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:43:29.067 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:59.068 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:00.301 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:44:29.069 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:59.070 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:00.302 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:45:29.071 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:59.072 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:00.303 [info] {"source":"oban","duration":217,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:46:29.073 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:59.074 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:00.304 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:47:29.075 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:59.076 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:00.305 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:48:29.077 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:59.078 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:00.306 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:49:29.079 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:59.080 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:00.307 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:50:29.081 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:59.082 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:00.308 [info] {"source":"oban","duration":232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:51:29.083 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:59.084 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:00.309 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:52:29.085 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:59.086 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:00.310 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:53:29.087 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:59.088 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:00.311 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:54:29.089 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:59.090 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:00.312 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:55:29.091 [info] {"source":"oban","duration":1240,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:59.093 [info] {"source":"oban","duration":1014,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:00.313 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:56:29.095 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:59.096 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:00.314 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:57:29.097 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:59.098 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:00.315 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:58:29.099 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:59.100 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:00.316 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:59:29.101 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:59.102 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:00.317 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:00:29.104 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:59.105 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:00.318 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:01:29.106 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:59.107 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:00.319 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:02:29.108 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:59.109 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:00.320 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:03:29.110 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:59.111 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:00.321 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:04:29.112 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:59.113 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:00.322 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:05:29.114 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:59.115 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:00.323 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:06:29.116 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:59.117 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:00.324 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:07:29.118 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:59.119 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:00.325 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:08:29.120 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:59.121 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:00.326 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:09:29.122 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:59.123 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:00.327 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:10:29.124 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:59.125 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:00.328 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:11:29.126 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:59.127 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:00.329 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:12:29.128 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:59.129 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:00.330 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:13:29.130 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:59.131 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:00.331 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:14:29.132 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:59.133 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:00.332 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:15:29.134 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:59.135 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:00.333 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:16:29.136 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:59.146 [info] {"source":"oban","duration":10499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:00.334 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:17:29.148 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:59.149 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:00.335 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:18:29.150 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:59.151 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:00.336 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:19:29.152 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:59.153 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:00.337 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:20:29.154 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:59.155 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:00.338 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:21:29.156 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:59.157 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:00.339 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:22:29.158 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:59.158 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:00.340 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:23:29.159 [info] {"source":"oban","duration":453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:59.161 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:00.341 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:24:29.162 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:59.163 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:00.342 [info] {"source":"oban","duration":161,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:25:29.164 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:59.165 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:00.343 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:26:29.166 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:59.167 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:00.344 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:27:29.168 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:59.169 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:00.345 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:28:29.170 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:59.171 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:00.346 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:29:29.172 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:59.173 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:00.347 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:30:29.174 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:59.175 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:00.348 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:31:29.176 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:59.177 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:00.349 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:32:29.178 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:59.179 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:00.350 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:33:29.180 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:59.181 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:00.351 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:34:29.182 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:59.183 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:00.352 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:35:29.184 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:59.185 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:00.353 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:36:29.186 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:59.187 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:00.354 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:37:29.188 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 11:37:59.190 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:00.355 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:38:29.190 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:59.191 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:00.356 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:39:29.193 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:59.194 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:00.357 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:40:29.195 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:59.196 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:00.358 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:41:29.197 [info] {"source":"oban","duration":885,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:59.199 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:00.359 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:42:29.200 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:59.201 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:00.360 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:43:29.202 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:59.203 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:00.361 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:44:29.204 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:59.205 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:00.362 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:45:29.206 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:59.207 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:00.363 [info] {"source":"oban","duration":225,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:46:29.208 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:59.209 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:00.384 [info] {"source":"oban","duration":19262,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:47:29.210 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:59.211 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:00.385 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:48:29.212 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:59.213 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:00.386 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:49:29.214 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:59.215 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:00.387 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:50:29.216 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:59.217 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:00.388 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:51:29.218 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:59.219 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:00.389 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:52:29.220 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:59.221 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:00.390 [info] {"source":"oban","duration":237,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:53:29.222 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:59.223 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:00.391 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:54:29.224 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:59.225 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:00.392 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:55:20.765 [info] GET /.env.prod 11:55:20.765 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:20.765 [info] GET /.env.production 11:55:20.767 [debug] QUERY OK source="settings" db=0.9ms idle=446.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.767 [debug] QUERY OK source="settings" db=0.8ms idle=447.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.768 [debug] QUERY OK source="settings" db=1.3ms idle=447.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.768 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:20.770 [info] GET /.git/config 11:55:20.770 [debug] QUERY OK source="settings" db=2.2ms queue=0.4ms idle=448.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.771 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:20.773 [debug] QUERY OK source="settings" db=1.1ms queue=1.1ms idle=424.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.774 [debug] QUERY OK source="settings" db=0.4ms queue=0.4ms 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 [] 11:55:20.774 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:20.772 [error] #PID<0.665676.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 1) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.production ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c0dcf9f76-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.183.216", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.183.216" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665676.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505c0dcf9f76-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.102, 172.71.183.216"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.183.216"} ], request_path: "/.env.production", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvmrtiZeZNGAAPBrC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c0dcf9f76-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.183.216", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.183.216" }, method: "GET", path_info: :undefined, body_length: 0, 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.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.production", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c0dcf9f76-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.183.216", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.183.216" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665676.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ Pi (truncated) 11:55:20.775 [error] #PID<0.665678.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 1) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.git/config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c0b67f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665678.0>, params: %{}, path_info: [".git", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505c0b67f794-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/.git/config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvms1zvjLBf8AQish"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c0b67f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.git/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.git/config", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c0b67f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 11:55:20.783 [info] GET /test/phpinfo.php 11:55:20.784 [debug] QUERY OK source="settings" db=0.8ms idle=15.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.784 [debug] QUERY OK source="settings" db=0.5ms idle=15.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.785 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:20.785 [info] GET /.aws/credentials 11:55:20.785 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:20.786 [debug] QUERY OK source="settings" db=0.1ms idle=15.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.786 [debug] QUERY OK source="settings" db=0.0ms idle=13.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.786 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:20.785 [error] #PID<0.665679.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 2) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /test/phpinfo.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /test/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c08b31c95-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665679.0>, params: %{}, path_info: ["test", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505c08b31c95-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.119"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.119"} ], request_path: "/test/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvmv2Pg7NC-sABUeD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c08b31c95-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /test/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c08b31c95-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false (truncated) 11:55:20.789 [info] GET / 11:55:20.789 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 11:55:20.790 [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 [] 11:55:20.790 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 11:55:20.791 [debug] QUERY OK source="sources" db=0.4ms idle=5.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 11:55:20.769 [error] #PID<0.665675.0> running PinchflatWeb.Endpoint (connection #PID<0.665673.0>, stream id 1) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.prod ** (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.665673.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prod", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49354}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c0ac53581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665675.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505c0ac53581-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/.env.prod", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvmrqNk5rBg4AQisB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665673.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prod", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49354}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c0ac53581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, 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.665673.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.prod", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49354}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c0ac53581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665675.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb (truncated) 11:55:20.792 [info] GET /phpinfo.php 11:55:20.793 [debug] QUERY OK source="settings" db=1.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 [] 11:55:20.794 [debug] QUERY OK source="settings" db=0.3ms queue=0.4ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.794 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:20.797 [debug] QUERY OK source="media_items" db=5.7ms idle=4.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:55:20.787 [error] #PID<0.665680.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 2) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.aws/credentials ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/credentials", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c18166571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665680.0>, params: %{}, path_info: [".aws", "credentials"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505c18166571-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.120"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.120"} ], request_path: "/.aws/credentials", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvmweAWzVI7gAQitB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/credentials", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c18166571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.aws/credentials (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.aws/credentials", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c18166571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: (truncated) 11:55:20.798 [info] GET /.env 11:55:20.798 [debug] QUERY OK source="media_items" db=1.2ms idle=6.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:55:20.798 [debug] QUERY OK source="settings" db=0.4ms idle=7.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.799 [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 [] 11:55:20.799 [debug] QUERY OK source="settings" db=0.4ms queue=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 [] 11:55:20.800 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:20.800 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.795 [error] #PID<0.665682.0> running PinchflatWeb.Endpoint (connection #PID<0.665673.0>, stream id 2) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /phpinfo.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665673.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49354}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c0ff2b968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.103.138", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.138" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665682.0>, params: %{}, path_info: ["phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505c0ff2b968-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.102, 172.71.103.138"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.138"} ], request_path: "/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvmyBQJhv7AEABUej"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665673.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49354}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c0ff2b968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.103.138", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.138" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665673.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49354}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c0ff2b968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.103.138", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.138" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, (truncated) 11:55:20.801 [debug] QUERY OK source="settings" db=1.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 [] 11:55:20.803 [debug] QUERY OK source="tasks" db=0.7ms idle=3.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 11:55:20.802 [error] #PID<0.665683.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 3) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c1f666625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.103.137", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.137" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665683.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505c1f666625-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.102, 172.71.103.137"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.137"} ], request_path: "/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvmzdvMOFosgABUfD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c1f666625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.103.137", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.137" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c1f666625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.103.137", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.137" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665683.0>, (truncated) 11:55:20.805 [info] GET /info.php 11:55:20.805 [debug] QUERY OK source="media_items" db=0.8ms idle=4.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 11:55:20.807 [debug] QUERY OK source="settings" db=1.3ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.807 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.807 [debug] QUERY OK source="media_items" db=2.0ms idle=5.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:55:20.807 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:20.808 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 11:55:20.808 [error] #PID<0.665684.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 4) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /info.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c48b50b88-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665684.0>, params: %{}, path_info: ["info"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505c48b50b88-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 104.23.166.156"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.166.156"} ], request_path: "/info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvm1Lgk_ClBYAQiuB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c48b50b88-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/info.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505c48b50b88-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.166.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.156" }, method: "GET", path_info: :undefined, (truncated) 11:55:20.817 [debug] QUERY OK source="media_items" db=6.1ms idle=6.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 11:55:20.820 [debug] QUERY OK source="media_items" db=2.5ms idle=10.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 11:55:20.821 [info] Sent 200 in 32ms 11:55:20.909 [info] GET /test.php 11:55:20.910 [debug] QUERY OK source="settings" db=0.1ms idle=102.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.910 [debug] QUERY OK source="settings" db=0.1ms idle=102.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.910 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:20.911 [error] #PID<0.665685.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 4) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /test.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /test (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d6a441c95-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665685.0>, params: %{}, path_info: ["test"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505d6a441c95-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.119"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.119"} ], request_path: "/test.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvnOGT0Ss75oABUhD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d6a441c95-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /test (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/test.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d6a441c95-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_len (truncated) 11:55:20.914 [info] GET /.env.local 11:55:20.914 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:20.915 [debug] QUERY OK source="settings" db=0.1ms idle=106.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.915 [debug] QUERY OK source="settings" db=0.2ms idle=97.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.915 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:20.916 [error] #PID<0.665686.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 5) terminated Server: content.andreas-larsen.dk: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.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d69ce6571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665686.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505d69ce6571-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.119"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.119"} ], request_path: "/.env.local", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvnPO892XgfoABUhj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d69ce6571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 5, 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.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.local", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d69ce6571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 5, host_info: :undefined (truncated) 11:55:20.944 [info] GET /.env.backup 11:55:20.945 [debug] QUERY OK source="settings" db=0.1ms idle=124.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.945 [debug] QUERY OK source="settings" db=0.2ms idle=35.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.945 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:20.947 [info] GET /_profiler/phpinfo 11:55:20.947 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=36.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.948 [debug] QUERY OK source="settings" db=0.2ms idle=32.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.948 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:20.949 [error] #PID<0.665688.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 5) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /_profiler/phpinfo ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d98c73581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665688.0>, params: %{}, path_info: ["_profiler", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505d98c73581-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/_profiler/phpinfo", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvnW8BI0cAsoAPBtC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d98c73581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /_profiler/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/_profiler/phpinfo", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d98c73581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", (truncated) 11:55:20.946 [error] #PID<0.665687.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 6) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.backup ** (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.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.backup", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d9862f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665687.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505d9862f794-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/.env.backup", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvnWcQZtYnaQABUiD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.backup", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d9862f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 6, 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.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.backup", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d9862f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", (truncated) 11:55:20.981 [info] GET /i.php 11:55:20.982 [debug] QUERY OK source="settings" db=0.1ms idle=66.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.982 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=37.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.982 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:20.983 [error] #PID<0.665689.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 6) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /i.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /i (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/i.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d68feb968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665689.0>, params: %{}, path_info: ["i"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505d68feb968-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.71.103.161"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.161"} ], request_path: "/i.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvnfPo7yXde4ABUij"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/i.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d68feb968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /i (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/i.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d68feb968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, (truncated) 11:55:20.996 [info] GET /.env.bak 11:55:20.997 [debug] QUERY OK source="settings" db=0.1ms idle=51.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.997 [debug] QUERY OK source="settings" db=0.2ms idle=49.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:20.998 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:20.998 [error] #PID<0.665690.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 7) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.bak ** (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.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d78b16625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665690.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505d78b16625-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.102, 172.71.103.162"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.162"} ], request_path: "/.env.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvni1xXJBDUQABUjD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d78b16625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 7, 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.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505d78b16625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665690.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], (truncated) 11:55:21.058 [info] GET /debug.php 11:55:21.059 [debug] QUERY OK source="settings" db=0.1ms idle=110.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.059 [debug] QUERY OK source="settings" db=0.1ms idle=77.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.059 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.060 [error] #PID<0.665691.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 8) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /debug.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /debug (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e5b553581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665691.0>, params: %{}, path_info: ["debug"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505e5b553581-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/debug.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvnxnQH79g4EAPBti"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e5b553581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /debug (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/debug.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e5b553581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, (truncated) 11:55:21.063 [info] GET /admin/phpinfo.php 11:55:21.063 [debug] QUERY OK source="settings" db=0.2ms idle=80.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.064 [debug] QUERY OK source="settings" db=0.2ms idle=66.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.064 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.064 [error] #PID<0.665692.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 9) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /admin/phpinfo.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /admin/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e5b4a1c95-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665692.0>, params: %{}, path_info: ["admin", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505e5b4a1c95-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.120"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.120"} ], request_path: "/admin/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvnyrRQzDlf4APBuC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e5b4a1c95-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /admin/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admin/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e5b4a1c95-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" (truncated) 11:55:21.081 [info] GET /wp-content/phpinfo.php 11:55:21.082 [debug] QUERY OK source="settings" db=0.2ms idle=83.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.082 [debug] QUERY OK source="settings" db=0.1ms idle=22.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.082 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.082 [error] #PID<0.665693.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 10) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-content/phpinfo.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-content/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e79f1b968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665693.0>, params: %{}, path_info: ["wp-content", "phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505e79f1b968-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.71.103.161"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.161"} ], request_path: "/wp-content/phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvn2_Fg1_b80AQiuh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e79f1b968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-content/phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e79f1b968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real (truncated) 11:55:21.097 [info] GET /.env.dev 11:55:21.097 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:21.098 [debug] QUERY OK source="settings" db=0.2ms idle=38.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.098 [debug] QUERY OK source="settings" db=0.4ms idle=34.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.098 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.098 [info] GET /.env.old 11:55:21.099 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:21.099 [debug] QUERY OK source="settings" db=0.2ms idle=35.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.100 [debug] QUERY OK source="settings" db=0.4ms idle=17.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.100 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.099 [error] #PID<0.665694.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 11) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.dev ** (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.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e8b476571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665694.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505e8b476571-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.119"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.119"} ], request_path: "/.env.dev", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvn6xsocxXRQABUjj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e8b476571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 11, 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.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.dev", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e8b476571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", (truncated) 11:55:21.103 [info] GET /config.json 11:55:21.104 [debug] QUERY OK source="settings" db=0.4ms idle=21.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.104 [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 [] 11:55:21.104 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.101 [error] #PID<0.665695.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 7) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.old ** (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.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e89a06625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665695.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505e89a06625-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.102, 172.71.103.161"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.161"} ], request_path: "/.env.old", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvn7JM9rh8UEAQivB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e89a06625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 7, 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.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.old", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e89a06625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665695. (truncated) 11:55:21.105 [error] #PID<0.665696.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 12) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /config.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e9bf26697-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.98.54", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.98.54" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665696.0>, params: %{}, path_info: ["config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505e9bf26697-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.102, 172.71.98.54"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.98.54"} ], request_path: "/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvn8TaqsgdDAAQivh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e9bf26697-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.98.54", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.98.54" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e9bf26697-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.98.54", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.98.54" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665696.0>, param (truncated) 11:55:21.125 [info] GET /.env.development 11:55:21.126 [debug] QUERY OK source="settings" db=0.1ms idle=27.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.126 [debug] QUERY OK source="settings" db=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 [] 11:55:21.126 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.127 [error] #PID<0.665697.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 13) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.development ** (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.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505ebbc1f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665697.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505ebbc1f794-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/.env.development", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvoBlLR6njG4AQiwB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505ebbc1f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.development", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505ebbc1f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", (truncated) 11:55:21.172 [info] GET /server.js 11:55:21.172 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:21.173 [debug] QUERY OK source="settings" db=0.4ms 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 [] 11:55:21.174 [debug] QUERY OK source="settings" db=0.1ms idle=69.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.174 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.174 [error] #PID<0.665698.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 14) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /server.js ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server.js", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e9f010b88-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 104.23.170.144", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.170.144" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665698.0>, params: %{}, path_info: ["server"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505e9f010b88-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.102, 104.23.170.144"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.170.144"} ], request_path: "/server.js", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvoMxMgjyNcAAQiwh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server.js", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e9f010b88-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 104.23.170.144", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.170.144" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /server (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/server.js", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505e9f010b88-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 104.23.170.144", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.170.144" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andre (truncated) 11:55:21.189 [info] GET /php_info.php 11:55:21.190 [debug] QUERY OK source="settings" db=0.1ms idle=85.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.190 [debug] QUERY OK source="settings" db=0.1ms idle=64.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.190 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.191 [error] #PID<0.665699.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 15) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /php_info.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /php_info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php_info.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f2ddc3581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665699.0>, params: %{}, path_info: ["php_info"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505f2ddc3581-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/php_info.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvoQ2AxxE0A0AQixB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php_info.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f2ddc3581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /php_info (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php_info.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f2ddc3581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: (truncated) 11:55:21.196 [info] GET /db.php.bak 11:55:21.196 [debug] QUERY OK source="settings" db=0.1ms idle=69.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.197 [debug] QUERY OK source="settings" db=0.0ms 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 [] 11:55:21.197 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.198 [info] GET /pi.php 11:55:21.199 [debug] QUERY OK source="settings" db=0.3ms idle=24.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.199 [debug] QUERY OK source="settings" db=0.1ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.199 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.197 [error] #PID<0.665700.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 16) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /db.php.bak ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /db.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/db.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f2c2b1c95-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665700.0>, params: %{}, path_info: ["db.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505f2c2b1c95-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.120"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.120"} ], request_path: "/db.php.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvoSY1QgOLMYAQixh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/db.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f2c2b1c95-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /db.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/db.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f2c2b1c95-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665700.0>, params: %{}, path_info: ["db.php"], path_params: %{}, port: 80, (truncated) 11:55:21.201 [info] GET /.env.example 11:55:21.201 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:21.202 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:55:21.203 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.203 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.200 [error] #PID<0.665701.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 8) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /pi.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /pi (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pi.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f2ab4b968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665701.0>, params: %{}, path_info: ["pi"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505f2ab4b968-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.102, 172.71.103.162"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.162"} ], request_path: "/pi.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvoS8G0OAfnkAQiyB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pi.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f2ab4b968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /pi (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pi.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f2ab4b968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", (truncated) 11:55:21.206 [info] GET /.env.staging 11:55:21.203 [error] #PID<0.665702.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 17) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.example ** (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.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.example", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f3c136571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665702.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505f3c136571-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.120"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.120"} ], request_path: "/.env.example", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvoTnDBIWE5oABUkD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.example", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f3c136571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 17, 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.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.example", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f3c136571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: (truncated) 11:55:21.207 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:21.207 [info] GET /api/.env 11:55:21.207 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:55:21.207 [debug] QUERY OK source="settings" db=0.1ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.208 [debug] QUERY OK source="settings" db=0.4ms idle=8.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.208 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.208 [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 [] 11:55:21.208 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.208 [error] #PID<0.665704.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 18) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /api/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f3d54f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665704.0>, params: %{}, path_info: ["api", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505f3d54f794-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/api/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvoU-8PWG0HoAPBui"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f3d54f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /api/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/api/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f3d54f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665704.0>, params: %{}, path_info: ["api", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], (truncated) 11:55:21.209 [error] #PID<0.665703.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 9) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.staging ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.staging", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f3a346625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665703.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505f3a346625-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.71.103.162"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.162"} ], request_path: "/.env.staging", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvoUrUEo1xFEABUkj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.staging", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f3a346625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 9, 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.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.staging", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f3a346625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_par (truncated) 11:55:21.264 [info] GET /pinfo.php 11:55:21.264 [info] GET /config/default.json 11:55:21.265 [debug] QUERY OK source="settings" db=0.2ms idle=62.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.265 [debug] QUERY OK source="settings" db=0.0ms idle=57.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.265 [debug] QUERY OK source="settings" db=0.4ms idle=57.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.265 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.266 [debug] QUERY OK source="settings" db=0.2ms idle=57.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.266 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.266 [error] #PID<0.665705.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 19) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /pinfo.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /pinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f2a7466be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665705.0>, params: %{}, path_info: ["pinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505f2a7466be-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.71.99.156"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.99.156"} ], request_path: "/pinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvoiuM82xoV0ABUlD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f2a7466be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /pinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/pinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f2a7466be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", (truncated) 11:55:21.267 [error] #PID<0.665706.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 10) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /config/default.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/default (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/default.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f2c786697-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.155", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.155" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665706.0>, params: %{}, path_info: ["config", "default"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2505f2c786697-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.71.99.155"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.99.155"} ], request_path: "/config/default.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvoiuTeRYglkAQiyh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/default.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f2c786697-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.155", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.155" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/default (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/default.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2505f2c786697-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.155", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.155" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 10, (truncated) 11:55:21.395 [info] GET /php.php 11:55:21.395 [info] GET /app/.env 11:55:21.395 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:21.395 [debug] QUERY OK source="settings" db=0.2ms idle=129.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.395 [debug] QUERY OK source="settings" db=0.1ms idle=130.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.396 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.396 [debug] QUERY OK source="settings" db=0.9ms idle=129.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.397 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=130.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.397 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.398 [info] GET /configuration.php.bak 11:55:21.399 [info] GET /temp.php 11:55:21.400 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=52.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.400 [debug] QUERY OK source="settings" db=0.9ms 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 [] 11:55:21.396 [error] #PID<0.665707.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 11) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /php.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606900f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665707.0>, params: %{}, path_info: ["php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250606900f794-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/php.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvpBv5J4_dwoAQizB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606900f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/php.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606900f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.d (truncated) 11:55:21.401 [debug] QUERY OK source="settings" db=0.8ms queue=0.3ms 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 [] 11:55:21.401 [info] GET /public/.env 11:55:21.401 [debug] QUERY OK source="settings" db=0.8ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.401 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.401 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:21.401 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.403 [debug] QUERY OK source="settings" db=1.3ms queue=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 [] 11:55:21.404 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:55:21.404 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.402 [error] #PID<0.665711.0> running PinchflatWeb.Endpoint (connection #PID<0.665710.0>, stream id 1) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /temp.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /temp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665710.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/temp.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49374}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606b276625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665711.0>, params: %{}, path_info: ["temp"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250606b276625-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.102, 172.71.103.161"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.161"} ], request_path: "/temp.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvpCwNYoOicMAQizh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665710.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/temp.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49374}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606b276625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /temp (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665710.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/temp.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49374}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606b276625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andr (truncated) 11:55:21.402 [error] #PID<0.665709.0> running PinchflatWeb.Endpoint (connection #PID<0.665673.0>, stream id 3) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /configuration.php.bak ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /configuration.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665673.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/configuration.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49354}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606d896571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665709.0>, params: %{}, path_info: ["configuration.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250606d896571-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.119"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.119"} ], request_path: "/configuration.php.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvpCrrdDs8nEABUmD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665673.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/configuration.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49354}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606d896571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /configuration.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665673.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/configuration.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49354}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606d896571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{} (truncated) 11:55:21.397 [error] #PID<0.665708.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 20) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /app/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606a313581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665708.0>, params: %{}, path_info: ["app", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250606a313581-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/app/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvpBv_mnG4lUABUlj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606a313581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /app/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/app/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606a313581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665708.0>, params: %{}, path_info: ["app", ""], path_params: %{}, port: 80, private: %{ Pinchfl (truncated) 11:55:21.409 [info] GET /backend/.env 11:55:21.409 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:21.410 [debug] QUERY OK source="settings" db=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 [] 11:55:21.410 [debug] QUERY OK source="settings" db=0.1ms idle=9.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.410 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.405 [error] #PID<0.665712.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 12) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /public/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /public/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606bd5b968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665712.0>, params: %{}, path_info: ["public", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250606bd5b968-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.71.103.161"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.161"} ], request_path: "/public/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvpDTUaOVOUQABUmj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606bd5b968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /public/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606bd5b968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, (truncated) 11:55:21.411 [error] #PID<0.665713.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 21) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /backend/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backend/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606d951c95-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665713.0>, params: %{}, path_info: ["backend", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250606d951c95-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.119"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.119"} ], request_path: "/backend/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvpFSRnyOkT4APBvC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606d951c95-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /backend/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/backend/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606d951c95-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 21, host (truncated) 11:55:21.468 [info] GET /secrets.json 11:55:21.469 [debug] QUERY OK source="settings" db=0.1ms idle=67.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.470 [debug] QUERY OK source="settings" db=0.8ms idle=65.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.470 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.470 [error] #PID<0.665714.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 22) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /secrets.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606c230b88-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.166.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665714.0>, params: %{}, path_info: ["secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250606c230b88-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 104.23.166.12"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.166.12"} ], request_path: "/secrets.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvpTXvdfC5wIABUnD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606c230b88-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.166.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/secrets.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250606c230b88-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.166.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, (truncated) 11:55:21.479 [info] GET /old_phpinfo.php 11:55:21.479 [info] GET /config.php.bak 11:55:21.480 [debug] QUERY OK source="settings" db=0.3ms 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 [] 11:55:21.480 [debug] QUERY OK source="settings" db=0.4ms idle=75.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.480 [debug] QUERY OK source="settings" db=0.1ms 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 [] 11:55:21.480 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.481 [debug] QUERY OK source="settings" db=0.1ms idle=11.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.481 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.481 [error] #PID<0.665716.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 23) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /config.php.bak ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25060fdf46697-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665716.0>, params: %{}, path_info: ["config.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed25060fdf46697-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.71.99.156"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.99.156"} ], request_path: "/config.php.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvpV_oTkcveYABUnj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25060fdf46697-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25060fdf46697-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 23, host_info: :undefined (truncated) 11:55:21.481 [error] #PID<0.665715.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 13) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /old_phpinfo.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /old_phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old_phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25060ec5b66be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665715.0>, params: %{}, path_info: ["old_phpinfo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed25060ec5b66be-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.71.99.156"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.99.156"} ], request_path: "/old_phpinfo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvpV_luD7C7gAQi0B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old_phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25060ec5b66be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /old_phpinfo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/old_phpinfo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25060ec5b66be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET" (truncated) 11:55:21.503 [info] GET /include/db.php.bak 11:55:21.503 [info] GET /infos.php 11:55:21.503 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:21.504 [debug] QUERY OK source="settings" db=0.1ms idle=23.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.504 [debug] QUERY OK source="settings" db=0.3ms idle=33.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.504 [debug] QUERY OK source="settings" db=0.2ms idle=23.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.504 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.504 [debug] QUERY OK source="settings" db=0.2ms idle=23.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.505 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.505 [error] #PID<0.665717.0> running PinchflatWeb.Endpoint (connection #PID<0.665674.0>, stream id 24) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /include/db.php.bak ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /include/db.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/include/db.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250611e646571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665717.0>, params: %{}, path_info: ["include", "db.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250611e646571-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.120"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.120"} ], request_path: "/include/db.php.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvpbshLvhLHYAQi0h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/include/db.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250611e646571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /include/db.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665674.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/include/db.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49352}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250611e646571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, (truncated) 11:55:21.505 [error] #PID<0.665718.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 14) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /infos.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /infos (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/infos.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250611b966625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665718.0>, params: %{}, path_info: ["infos"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250611b966625-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.102, 172.71.103.162"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.162"} ], request_path: "/infos.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvpbsgAdDsJoABUoD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/infos.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250611b966625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /infos (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/infos.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250611b966625-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.103.162", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.162" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 14, host_i (truncated) 11:55:21.532 [info] GET /laravel/.env 11:55:21.532 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:21.533 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=51.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.533 [debug] QUERY OK source="settings" db=0.2ms idle=28.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.533 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.533 [error] #PID<0.665719.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 15) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /laravel/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /laravel/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250614be5f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665719.0>, params: %{}, path_info: ["laravel", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250614be5f794-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/laravel/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvpigfThQnZkABUoj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250614be5f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /laravel/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/laravel/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250614be5f794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, h (truncated) 11:55:21.540 [info] GET /config/.env 11:55:21.540 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:21.541 [debug] QUERY OK source="settings" db=0.1ms idle=36.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.541 [debug] QUERY OK source="settings" db=0.1ms idle=36.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.541 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.542 [error] #PID<0.665720.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 16) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /config/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250615d353581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665720.0>, params: %{}, path_info: ["config", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250615d353581-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/config/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvpkaF9yb2nQABUpD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250615d353581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250615d353581-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 16, host_info: : (truncated) 11:55:21.545 [info] GET /docker/.env 11:55:21.546 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=40.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.546 [debug] QUERY OK source="settings" db=0.0ms 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 [] 11:55:21.546 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.546 [error] #PID<0.665721.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 17) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /docker/.env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /docker/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250615cdbb968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665721.0>, params: %{}, path_info: ["docker", ""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250615cdbb968-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.102, 172.71.103.161"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.103.161"} ], request_path: "/docker/.env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvploXbqo-m0ABUpj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250615cdbb968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /docker/ (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/docker/.env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250615cdbb968-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.103.161", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.103.161" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", (truncated) 11:55:21.557 [info] GET /actuator/env 11:55:21.558 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:21.558 [debug] QUERY OK source="settings" db=0.1ms idle=24.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.559 [debug] QUERY OK source="settings" db=0.2ms idle=17.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.559 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.559 [error] #PID<0.665722.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 18) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /actuator/env ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250617f1d0b88-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.166.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665722.0>, params: %{}, path_info: ["actuator", "env"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250617f1d0b88-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 104.23.166.12"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.166.12"} ], request_path: "/actuator/env", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvpolS0TuSdIABUqD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250617f1d0b88-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.166.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /actuator/env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/actuator/env", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250617f1d0b88-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.166.12", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.166.12" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 18, host_info: :unde (truncated) 11:55:21.571 [info] GET /application.yml 11:55:21.571 [debug] QUERY OK source="settings" db=0.1ms idle=29.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.571 [debug] QUERY OK source="settings" db=0.1ms idle=25.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.571 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.572 [error] #PID<0.665723.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 19) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /application.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250618cf266be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.155", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.155" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665723.0>, params: %{}, path_info: ["application"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250618cf266be-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.71.99.155"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.99.155"} ], request_path: "/application.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvprrawpw0mkAPBvi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250618cf266be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.155", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.155" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250618cf266be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.155", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.155" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, (truncated) 11:55:21.621 [info] GET /application.properties 11:55:21.622 [debug] QUERY OK source="settings" db=0.1ms idle=75.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.622 [debug] QUERY OK source="settings" db=0.1ms idle=63.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.622 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.623 [error] #PID<0.665724.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 20) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /application.properties ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.properties", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25061dfac6571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665724.0>, params: %{}, path_info: ["application"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed25061dfac6571-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.119"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.119"} ], request_path: "/application.properties", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvp31MBTMRFwABUqj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.properties", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25061dfac6571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /application (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/application.properties", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25061dfac6571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{}, body_params: %{}, (truncated) 11:55:21.705 [info] GET /include/config.php.bak 11:55:21.706 [debug] QUERY OK source="settings" db=0.1ms idle=146.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.706 [debug] QUERY OK source="settings" db=0.1ms idle=134.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.706 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.706 [error] #PID<0.665725.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 21) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /include/config.php.bak ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /include/config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/include/config.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250625ddd66be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665725.0>, params: %{}, path_info: ["include", "config.php"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250625ddd66be-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.102, 172.71.99.156"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.99.156"} ], request_path: "/include/config.php.bak", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvqLxCcrPeK0ABUrD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/include/config.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250625ddd66be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /include/config.php (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/include/config.php.bak", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250625ddd66be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: (truncated) 11:55:21.725 [info] GET /appsettings.Development.json 11:55:21.726 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:21.726 [debug] QUERY OK source="settings" db=0.1ms idle=154.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.726 [debug] QUERY OK source="settings" db=0.1ms idle=104.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.726 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.727 [error] #PID<0.665726.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 22) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /appsettings.Development.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /appsettings.Development (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.Development.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250627f7ff794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665726.0>, params: %{}, path_info: ["appsettings.Development"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250627f7ff794-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/appsettings.Development.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvqQovJIQHoUAPBwC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.Development.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250627f7ff794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /appsettings.Development (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.Development.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250627f7ff794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 22, ho (truncated) 11:55:21.758 [info] GET /appsettings.json 11:55:21.758 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:21.758 [debug] QUERY OK source="settings" db=0.1ms idle=136.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.759 [debug] QUERY OK source="settings" db=0.1ms idle=53.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.759 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.759 [error] #PID<0.665727.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 23) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /appsettings.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /appsettings (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25062a8946571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665727.0>, params: %{}, path_info: ["appsettings"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed25062a8946571-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.120"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.120"} ], request_path: "/appsettings.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvqYYhMKg2WgAPBwi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25062a8946571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /appsettings (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/appsettings.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25062a8946571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", (truncated) 11:55:21.834 [info] GET /.docker/config.json 11:55:21.835 [debug] QUERY OK source="settings" db=0.1ms idle=128.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.835 [debug] QUERY OK source="settings" db=0.1ms idle=109.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.835 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.836 [error] #PID<0.665728.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 24) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.docker/config.json ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.docker/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.docker/config.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250632ecc66be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.155", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.155" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665728.0>, params: %{}, path_info: [".docker", "config"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250632ecc66be-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.71.99.155"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.99.155"} ], request_path: "/.docker/config.json", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvqqpGY99K6IABUrj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.docker/config.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250632ecc66be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.155", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.155" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.docker/config (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.docker/config.json", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250632ecc66be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.155", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.155" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{} (truncated) 11:55:21.846 [info] GET /wp-content/debug.log 11:55:21.846 [debug] QUERY OK source="settings" db=0.1ms idle=119.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.847 [debug] QUERY OK source="settings" db=0.0ms idle=88.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.847 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.847 [error] #PID<0.665729.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 25) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-content/debug.log ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-content/debug (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/debug.log", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2506339aaf794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665729.0>, params: %{}, path_info: ["wp-content", "debug"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2506339aaf794-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/wp-content/debug.log", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvqtYKsfMVXcABUsD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/debug.log", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2506339aaf794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-content/debug (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/debug.log", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2506339aaf794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, (truncated) 11:55:21.886 [info] GET /storage/logs/laravel.log 11:55:21.886 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:21.887 [debug] QUERY OK source="settings" db=0.2ms 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 [] 11:55:21.887 [debug] QUERY OK source="settings" db=0.1ms idle=51.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.887 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.887 [error] #PID<0.665730.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 26) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /storage/logs/laravel.log ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /storage/logs/laravel (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/storage/logs/laravel.log", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2506379a26571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665730.0>, params: %{}, path_info: ["storage", "logs", "laravel"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2506379a26571-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.119"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.119"} ], request_path: "/storage/logs/laravel.log", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvq26p1YSjD0ABUsj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/storage/logs/laravel.log", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2506379a26571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /storage/logs/laravel (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/storage/logs/laravel.log", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2506379a26571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", (truncated) 11:55:21.969 [info] GET /.env.php 11:55:21.969 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:21.970 [debug] QUERY OK source="settings" db=0.1ms idle=134.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.970 [debug] QUERY OK source="settings" db=0.1ms idle=123.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:21.970 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:21.970 [error] #PID<0.665731.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 27) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.env.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.env (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25063ff9f66be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665731.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed25063ff9f66be-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.102, 172.71.99.156"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.99.156"} ], request_path: "/.env.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvrKuIQagREYABUtD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25063ff9f66be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 27, 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.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.env.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25063ff9f66be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665731.0>, params: %{}, path_info: [".env"], path_params: %{}, port: 80, private: %{ PinchflatWeb. (truncated) 11:55:22.249 [info] GET /config/app.php 11:55:22.249 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:22.250 [debug] QUERY OK source="settings" db=0.1ms idle=402.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.250 [debug] QUERY OK source="settings" db=0.0ms idle=363.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.250 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:22.250 [error] #PID<0.665732.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 28) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /config/app.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/app (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/app.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25065c99966be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.155", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.155" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665732.0>, params: %{}, path_info: ["config", "app"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed25065c99966be-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.71.99.155"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.99.155"} ], request_path: "/config/app.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvsNeJBvTcaAABUtj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/app.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25065c99966be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.155", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.155" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/app (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/app.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25065c99966be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.155", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.155" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, assig (truncated) 11:55:22.255 [info] GET /config/database.yml 11:55:22.256 [debug] QUERY OK source="settings" db=0.1ms idle=368.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.256 [debug] QUERY OK source="settings" db=0.1ms idle=286.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.256 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:22.257 [error] #PID<0.665733.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 29) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /config/database.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/database (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/database.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25065ccb46571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665733.0>, params: %{}, path_info: ["config", "database"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed25065ccb46571-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.120"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.120"} ], request_path: "/config/database.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvsO_PHSxp4QABUuD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/database.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25065ccb46571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/database (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/database.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25065ccb46571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665733.0>, params: %{}, path_ (truncated) 11:55:22.297 [info] GET /config/secrets.yml 11:55:22.297 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:22.298 [debug] QUERY OK source="settings" db=0.1ms idle=327.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.298 [debug] QUERY OK source="settings" db=0.0ms idle=48.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.298 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:22.298 [error] #PID<0.665734.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 30) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /config/secrets.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/secrets.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250661b7df794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 30, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665734.0>, params: %{}, path_info: ["config", "secrets"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250661b7df794-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (compatible; SecurityScanner/1.0)"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/config/secrets.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvsY9NkO7Vd0ABUuj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/secrets.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250661b7df794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 30, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/secrets (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/secrets.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250661b7df794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (compatible; SecurityScanner/1.0)", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 30, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665734.0>, (truncated) 11:55:22.413 [info] GET /config/mail.php 11:55:22.413 [debug] QUERY OK source="settings" db=0.1ms idle=157.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.413 [debug] QUERY OK source="settings" db=0.0ms idle=157.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.414 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:22.414 [error] #PID<0.665735.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 31) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /config/mail.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/mail (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/mail.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25066cac866be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 31, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665735.0>, params: %{}, path_info: ["config", "mail"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed25066cac866be-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.71.99.156"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.99.156"} ], request_path: "/config/mail.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvs0fu2td8pMABUvD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/mail.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25066cac866be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 31, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /config/mail (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/config/mail.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25066cac866be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.156", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.156" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 31, host_info: :undefined }}, assigns: %{}, (truncated) 11:55:22.550 [info] GET /.npmrc 11:55:22.550 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:22.551 [debug] QUERY OK source="settings" db=0.1ms idle=252.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.551 [debug] QUERY OK source="settings" db=0.1ms idle=252.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.551 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:22.551 [error] #PID<0.665736.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 32) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.npmrc ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.npmrc", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25067af586571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 32, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665736.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed25067af586571-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.119"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.119"} ], request_path: "/.npmrc", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvtVQrVMjyXgABUvj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.npmrc", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25067af586571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 32, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.npmrc", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25067af586571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.119", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.119" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 32, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk" (truncated) 11:55:22.617 [info] GET /web.config 11:55:22.617 [debug] QUERY OK source="settings" db=0.1ms idle=269.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.618 [debug] QUERY OK source="settings" db=0.0ms idle=204.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.618 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:22.618 [error] #PID<0.665737.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 33) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /web.config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /web (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web.config", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250681a7cf794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 33, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665737.0>, params: %{}, path_info: ["web"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250681a7cf794-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/web.config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvtlMqbwCo2sABUwD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web.config", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250681a7cf794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 33, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /web (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/web.config", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250681a7cf794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 33, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", (truncated) 11:55:22.627 [info] GET /.dockerenv 11:55:22.627 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/plain" with extensions: ["txt", "text"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:22.628 [debug] QUERY OK source="settings" db=0.2ms idle=214.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.628 [debug] QUERY OK source="settings" db=0.3ms idle=77.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.629 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:22.629 [error] #PID<0.665738.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 34) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /.dockerenv ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.dockerenv", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250681c8866be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.155", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.155" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 34, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665738.0>, params: %{}, path_info: [""], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed250681c8866be-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.71.99.155"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.99.155"} ], request_path: "/.dockerenv", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvtnmHCyiok0ABUwj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.dockerenv", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250681c8866be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.155", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.155" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 34, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET / (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/.dockerenv", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed250681c8866be-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.71.99.155", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.99.155" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 34, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, (truncated) 11:55:22.677 [info] GET /connectionstrings.config 11:55:22.677 [debug] QUERY OK source="settings" db=0.2ms idle=125.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.677 [debug] QUERY OK source="settings" db=0.1ms idle=59.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.678 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:22.678 [error] #PID<0.665739.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 35) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /connectionstrings.config ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /connectionstrings (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/connectionstrings.config", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2506868406571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 35, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665739.0>, params: %{}, path_info: ["connectionstrings"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "text/plain, */*"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed2506868406571-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, {"x-forwarded-for", "195.178.110.102, 172.70.47.120"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.47.120"} ], request_path: "/connectionstrings.config", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvtzZrHsw_1cABUxD"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/connectionstrings.config", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2506868406571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 35, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /connectionstrings (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/connectionstrings.config", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/plain, */*", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed2506868406571-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "x-forwarded-for" => "195.178.110.102, 172.70.47.120", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.47.120" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 35, host_info: :undefine (truncated) 11:55:22.735 [info] GET /parameters.yml 11:55:22.736 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "application/octet-stream" with extensions: ["bin"] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 11:55:22.736 [debug] QUERY OK source="settings" db=0.1ms idle=118.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.736 [debug] QUERY OK source="settings" db=0.1ms idle=108.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:55:22.736 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:55:22.737 [error] #PID<0.665740.0> running PinchflatWeb.Endpoint (connection #PID<0.665677.0>, stream id 36) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /parameters.yml ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /parameters (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/parameters.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25068ccbef794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 36, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.665740.0>, params: %{}, path_info: ["parameters"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "application/octet-stream"}, {"accept-encoding", "gzip, br"}, {"cache-control", "no-cache"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "195.178.110.102"}, {"cf-ipcountry", "NL"}, {"cf-ray", "9ed25068ccbef794-AMS"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, {"x-forwarded-for", "195.178.110.102, 104.23.172.56"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.172.56"} ], request_path: "/parameters.yml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbNvuBcvXW8D7QABUxj"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/parameters.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25068ccbef794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 36, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /parameters (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.665677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/parameters.yml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49368}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "application/octet-stream", "accept-encoding" => "gzip, br", "cache-control" => "no-cache", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "195.178.110.102", "cf-ipcountry" => "NL", "cf-ray" => "9ed25068ccbef794-AMS", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0", "x-forwarded-for" => "195.178.110.102, 104.23.172.56", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.172.56" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 36, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, (truncated) 11:55:29.226 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:59.227 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:00.393 [info] {"source":"oban","duration":140,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:56:29.228 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:59.229 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:00.394 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:57:29.230 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:59.231 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:00.395 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:58:29.232 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:59.233 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:00.396 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:59:29.234 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:59.235 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:00.397 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:00:29.236 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:59.237 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:00.398 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:01:29.238 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:59.239 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:00.399 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:02:29.240 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:59.241 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:00.400 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:03:29.242 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:59.243 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:00.401 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:04:29.244 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:59.245 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:00.402 [info] {"source":"oban","duration":224,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:05:29.246 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:59.247 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:00.403 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:06:29.248 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:59.249 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:00.404 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:07:29.250 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:59.251 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:00.405 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:08:29.252 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:59.253 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:00.406 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:09:29.253 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:59.255 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:00.407 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:10:29.256 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:59.257 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:00.408 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:11:29.258 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:59.259 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:00.409 [info] {"source":"oban","duration":137,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:12:29.260 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:59.261 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:00.410 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:13:29.262 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:59.263 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:00.411 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:14:29.264 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:59.265 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:00.412 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:15:29.266 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:59.267 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:00.413 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:16:29.268 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:59.269 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:00.414 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:17:29.270 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:59.272 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:00.415 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:18:29.273 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:59.274 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:00.416 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:19:29.278 [info] {"source":"oban","duration":1256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:59.280 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:00.417 [info] {"source":"oban","duration":237,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:20:29.281 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:59.282 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:00.418 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:21:29.283 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:59.284 [info] {"source":"oban","duration":1157,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:00.419 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:22:29.286 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:59.287 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:00.420 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:23:29.288 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:59.289 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:00.421 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:24:29.289 [info] {"source":"oban","duration":557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:59.291 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:00.422 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:25:29.292 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:59.293 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:00.423 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:26:29.294 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:59.295 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:00.424 [info] {"source":"oban","duration":122,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:27:29.296 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:59.297 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:00.425 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:28:29.298 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:59.299 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:00.426 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:29:29.300 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:59.301 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:00.427 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:30:30.249 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:00.250 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:01.375 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:31:30.251 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:00.252 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:00.376 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:32:30.253 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:00.254 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:00.377 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:33:30.255 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:00.256 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:00.378 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:34:30.257 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:00.258 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:00.379 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:35:30.259 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:00.260 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:00.380 [info] {"source":"oban","duration":239,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:36:30.261 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:00.262 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:00.381 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:37:30.263 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:00.264 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:00.382 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:38:30.265 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:00.266 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:00.383 [info] {"source":"oban","duration":232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:39:30.267 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:00.268 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:00.384 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:40:30.269 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:00.270 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:00.385 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:41:30.270 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:00.272 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:00.386 [info] {"source":"oban","duration":166,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:42:30.273 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:00.274 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:00.387 [info] {"source":"oban","duration":149,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:43:30.275 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:00.276 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:00.388 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:44:30.277 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:00.278 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:00.389 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:45:30.279 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:00.280 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:00.390 [info] {"source":"oban","duration":167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:46:29.565 [info] {"args":{"id":9},"id":4837,"meta":{},"system_time":1776336389565708740,"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"]} 12:46:29.566 [debug] QUERY OK source="sources" db=0.1ms idle=269.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:29.566 [debug] QUERY OK source="settings" db=0.1ms idle=269.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:29.568 [debug] QUERY OK source="media_items" db=1.2ms idle=270.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 12:46:29.568 [debug] QUERY OK source="media_items" db=0.1ms idle=9.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 12:46:29.569 [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] 12:46:29.569 [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 [] 12:46:29.569 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:29.570 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 12:46:29.570 [debug] Current batch of media processed. Will check again in 1000ms 12:46:29.570 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:29.570 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:29.571 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:46:29.571 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/playlist?list=PLUUVA1IsKg-WqgEu55gWCHpi8Wfs_YqcZ&si=z1kjgb4xIhCbOdG_ --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Claire Recreates/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/05/a7/05a7e72ea4e5fe0801514be8d425287c9edc0a9d1a692e415419319280e1c63a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:46:30.281 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:30.571 [debug] Current batch of media processed. Will check again in 1000ms 12:46:31.572 [debug] Current batch of media processed. Will check again in 1000ms 12:46:32.573 [debug] Current batch of media processed. Will check again in 1000ms 12:46:33.574 [debug] Current batch of media processed. Will check again in 1000ms 12:46:34.575 [debug] Current batch of media processed. Will check again in 1000ms 12:46:35.576 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Drumsticks | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Nestle Drumsticks, The Original Ice Cream Cone. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #icecream #drumsticks \n\nCHAPTERS:\n00:00 Intro\n00:54 Snack breakdown\n03:29 Measurements\n04:43 Original ingredients\n05:15 Game plan\n06:15 Make and form cones\n18:13 Bake the cones\n19:53 Make the chocolate coating\n23:03 Make the ice cream\n32:05 Form the bulbs\n33:26 The next morning\n34:04 Make the magic shell\n37:29 Taste test\n41:59 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make the cones, combine 3 ounces room temp egg whites, ¼ cup granulated sugar, ¼ up demerara sugar, 3 tablespoons melted cooled butter, 2 teaspoons vanilla extract, ½ cup flour, 1 tablespoon cornstarch, ½ teaspoon kosher salt, and ¼ teaspoon baking soda and blend with a hand blender until completely smooth. Transfer the batter to a piping bag and pipe some onto the grates of a preheated electric waffle cone iron. Cook just until it’s set but pale, then transfer the piece to a cutting board and trace around a football-shaped stencil with a wheel cutter. Remove the excess, return the piece to the iron, and cook until golden brown all over. Form the cone around a mold, pressing firmly on the seam. Repeat with more batter. Dry the cones in a 200-degree oven upside down on a rack set over a baking sheet,, then let cool. Brush the insides of the cones with a thin layer of melted chocolate, depositing a half teaspoon of chocolate in the bottom of each. Place the cones on a rack in the freezer. \n\nTo make the ice cream, vigorously whisk 8 large egg yolks, 1 cup granulated sugar, 30g malted milk powder, ½ teaspoon kosher salt, and 1 tablespoon vanilla paste in the bottom of a large saucepan until pale and ribbony. Whisk in 3 cups whole milk and 1 cup heavy cream. Cook the mixture, whisking constantly over medium heat, until it registers 180-degrees. Cool the mixture rapidly in an ice bath, then transfer to an ice cream machine and spin until the ice cream holds its shape. Transfer some of the ice cream to a piping bag and fill the chocolate-coated cones, smoothing the tops, then transfer the rest of the ice cream to a chilled loaf pan and freeze solid. Scooping from the loaf pan, place a scoop of ice cream over the top of each cone, smoothing with a small offset spatula to form nice domes. Freeze the cones overnight, then melt chocolate and coconut oil together to make a magic shell. Dip the cones in the shell, shaking off excess, then gently roll in very evenly chopped and sifted roasted salted peanuts. Freeze until form, at least 20 minutes.", "duration" => 2534, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e043000 - I Tried Making Homemade Drumsticks | Claire Recreates.mkv", "id" => "Qd0TQeVQ2Z0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Qd0TQeVQ2Z0", "playlist_index" => 1, "timestamp" => 1714482032, "title" => "I Tried Making Homemade Drumsticks | Claire Recreates", "upload_date" => "20240430"} 12:46:35.577 [debug] QUERY OK source="sources" db=0.3ms idle=280.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:46:35.577 [debug] QUERY OK source="sources" db=0.1ms idle=281.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:35.578 [debug] QUERY OK source="media_items" db=0.2ms idle=281.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-04-30 13:00:32Z], 9] 12:46:35.581 [debug] QUERY OK source="media_items" db=2.2ms idle=282.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Drumsticks | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Nestle Drumsticks, The Original Ice Cream Cone. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #icecream #drumsticks \n\nCHAPTERS:\n00:00 Intro\n00:54 Snack breakdown\n03:29 Measurements\n04:43 Original ingredients\n05:15 Game plan\n06:15 Make and form cones\n18:13 Bake the cones\n19:53 Make the chocolate coating\n23:03 Make the ice cream\n32:05 Form the bulbs\n33:26 The next morning\n34:04 Make the magic shell\n37:29 Taste test\n41:59 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make the cones, combine 3 ounces room temp egg whites, ¼ cup granulated sugar, ¼ up demerara sugar, 3 tablespoons melted cooled butter, 2 teaspoons vanilla extract, ½ cup flour, 1 tablespoon cornstarch, ½ teaspoon kosher salt, and ¼ teaspoon baking soda and blend with a hand blender until completely smooth. Transfer the batter to a piping bag and pipe some onto the grates of a preheated electric waffle cone iron. Cook just until it’s set but pale, then transfer the piece to a cutting board and trace around a football-shaped stencil with a wheel cutter. Remove the excess, return the piece to the iron, and cook until golden brown all over. Form the cone around a mold, pressing firmly on the seam. Repeat with more batter. Dry the cones in a 200-degree oven upside down on a rack set over a baking sheet,, then let cool. Brush the insides of the cones with a thin layer of melted chocolate, depositing a half teaspoon of chocolate in the bottom of each. Place the cones on a rack in the freezer. \n\nTo make the ice cream, vigorously whisk 8 large egg yolks, 1 cup granulated sugar, 30g malted milk powder, ½ teaspoon kosher salt, and 1 tablespoon vanilla paste in the bottom of a large saucepan until pale and ribbony. Whisk in 3 cups whole milk and 1 cup heavy cream. Cook the mixture, whisking constantly over medium heat, until it registers 180-degrees. Cool the mixture rapidly in an ice bath, then transfer to an ice cream machine and spin until the ice cream holds its shape. Transfer some of the ice cream to a piping bag and fill the chocolate-coated cones, smoothing the tops, then transfer the rest of the ice cream to a chilled loaf pan and freeze solid. Scooping from the loaf pan, place a scoop of ice cream over the top of each cone, smoothing with a small offset spatula to form nice domes. Freeze the cones overnight, then melt chocolate and coconut oil together to make a magic shell. Dip the cones in the shell, shaking off excess, then gently roll in very evenly chopped and sifted roasted salted peanuts. Freeze until form, at least 20 minutes.", "I Tried Making Homemade Drumsticks | Claire Recreates", "09de9f19-177c-4e12-a4b6-1773dbb52a15", 9, [], 2534, false, "Qd0TQeVQ2Z0", "https://www.youtube.com/watch?v=Qd0TQeVQ2Z0", 1, "/downloads/shows/Claire Recreates/Season 2024/s2024e043000 - I Tried Making Homemade Drumsticks | Claire Recreates.mkv", false, false, false, 1, ~U[2024-04-30 13:00:32Z], ~U[2026-04-16 10:46:35Z], ~U[2026-04-16 10:46:35Z], "I Tried Making Homemade Drumsticks | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Nestle Drumsticks, The Original Ice Cream Cone. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #icecream #drumsticks \n\nCHAPTERS:\n00:00 Intro\n00:54 Snack breakdown\n03:29 Measurements\n04:43 Original ingredients\n05:15 Game plan\n06:15 Make and form cones\n18:13 Bake the cones\n19:53 Make the chocolate coating\n23:03 Make the ice cream\n32:05 Form the bulbs\n33:26 The next morning\n34:04 Make the magic shell\n37:29 Taste test\n41:59 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make the cones, combine 3 ounces room temp egg whites, ¼ cup granulated sugar, ¼ up demerara sugar, 3 tablespoons melted cooled butter, 2 teaspoons vanilla extract, ½ cup flour, 1 tablespoon cornstarch, ½ teaspoon kosher salt, and ¼ teaspoon baking soda and blend with a hand blender until completely smooth. Transfer the batter to a piping bag and pipe some onto the grates of a preheated electric waffle cone iron. Cook just until it’s set but pale, then transfer the piece to a cutting board and trace around a football-shaped stencil with a wheel cutter. Remove the excess, return the piece to the iron, and cook until golden brown all over. Form the cone around a mold, pressing firmly on the seam. Repeat with more batter. Dry the cones in a 200-degree oven upside down on a rack set over a baking sheet,, then let cool. Brush the insides of the cones with a thin layer of melted chocolate, depositing a half teaspoon of chocolate in the bottom of each. Place the cones on a rack in the freezer. \n\nTo make the ice cream, vigorously whisk 8 large egg yolks, 1 cup granulated sugar, 30g malted milk powder, ½ teaspoon kosher salt, and 1 tablespoon vanilla paste in the bottom of a large saucepan until pale and ribbony. Whisk in 3 cups whole milk and 1 cup heavy cream. Cook the mixture, whisking constantly over medium heat, until it registers 180-degrees. Cool the mixture rapidly in an ice bath, then transfer to an ice cream machine and spin until the ice cream holds its shape. Transfer some of the ice cream to a piping bag and fill the chocolate-coated cones, smoothing the tops, then transfer the rest of the ice cream to a chilled loaf pan and freeze solid. Scooping from the loaf pan, place a scoop of ice cream over the top of each cone, smoothing with a small offset spatula to form nice domes. Freeze the cones overnight, then melt chocolat (truncated) 12:46:35.581 [debug] QUERY OK source="sources" db=0.2ms idle=16.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:35.582 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:46:35.582 [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 [29414] 12:46:35.582 [debug] Current batch of media processed. Will check again in 1000ms 12:46:36.583 [debug] Current batch of media processed. Will check again in 1000ms 12:46:37.584 [debug] Current batch of media processed. Will check again in 1000ms 12:46:38.585 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Zebra Cakes | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Little Debbie Zebra Cakes. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #zebracake #cake \n\nChapters:\n00:00 Intro\n00:43 Zebra Cakes\n01:20 Taste test (Original)\n06:28 Game plan\n06:41 Bake cake\n16:37 Make the filling\n22:23 Fill & stack\n25:28 Cut out hexagons\n27:56 Fondant & glaze\n38:14 Chocolate stripes\n42:15 Comparison\n45:28 Spud gets brushed!\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make zebra cakes, start by whisking ¾ cup cake flour, ¼ teaspoon baking powder, ⅛ teaspoon baking soda, and ¾ teaspoon kosher salt in a medium bowl. In a separate bowl, beat 3 egg yolks and ¼ cup sugar with a hand mixer until ribbony, then stream in ¼ cup neutral oil, ¼ cup buttermilk, and a teaspoon of vanilla extract. Pour the yolk mixture into the flour mixture and whisk until smooth. In a separate bowl, combine three egg whites, ¼ cup sugar, and a pinch of cream of tartar and beat with an electric mixer to stiff peaks. Fold the whites into the batter, then scrape onto a parchment-lined half sheet tray. Bake in a 225-degree oven until springy to the touch and golden, then let cool. Trim the edges then cut the sponge into 6-cm-wide strips and trim them horizontally so they’re about 7mm thick. Freeze the pieces. \n\nTo make the filling, combine 3 ounces egg whites, 5.5 ounces of sugar, ½ teaspoon kosher salt, and a pinch of cream of tartar in the bowl of a stand mixer set over a double boiler and stir until the sugar dissolves. Whip the egg whites until firm peaks form and the meringue is room temperature, then gradually beat in 10 ounces of room temperature butter. Scrape down the sides of the bowl and beat in 1 tablespoon of vanilla paste. Pipe a layer of buttercream onto the surfaces of the cake strips using a basketweave tip, then sandwich the cake together. Chill briefly, then cut out hexagons using a serrated knife and template. Chill the cakes. \n\nIn a large bowl, whisk together 4 cups powdered sugar, ¼ cup hot water, ¼ cup light corn syrup, and 1 teaspoon vanilla extract until smooth. Whisk in 142g melted white chocolate, then thin with more hot water to the desired consistency. Place over a saucepan of hot water to keep warm. Spread a thin layer over the tops of the cakes, let set at room temperature, then place the cakes one at a time glaze-size down on a large fork and spoon the glaze over the cakes until fully enrobed. Place on a wire rack and let set. Pipe thin lines of melted chocolate over the surfaces of the cakes in a wavy pattern and let set.", "duration" => 2744, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e052800 - I Tried Making Homemade Zebra Cakes | Claire Recreates.mkv", "id" => "OtgomG_a0jg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OtgomG_a0jg", "playlist_index" => 2, "timestamp" => 1716901219, "title" => "I Tried Making Homemade Zebra Cakes | Claire Recreates", "upload_date" => "20240528"} 12:46:38.586 [debug] QUERY OK source="sources" db=0.1ms idle=1289.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:46:38.586 [debug] QUERY OK source="sources" db=0.1ms idle=1289.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:38.587 [debug] QUERY OK source="media_items" db=0.2ms idle=1290.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-28 13:00:19Z], 9] 12:46:38.589 [debug] QUERY OK source="media_items" db=1.8ms idle=1019.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Zebra Cakes | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Little Debbie Zebra Cakes. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #zebracake #cake \n\nChapters:\n00:00 Intro\n00:43 Zebra Cakes\n01:20 Taste test (Original)\n06:28 Game plan\n06:41 Bake cake\n16:37 Make the filling\n22:23 Fill & stack\n25:28 Cut out hexagons\n27:56 Fondant & glaze\n38:14 Chocolate stripes\n42:15 Comparison\n45:28 Spud gets brushed!\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make zebra cakes, start by whisking ¾ cup cake flour, ¼ teaspoon baking powder, ⅛ teaspoon baking soda, and ¾ teaspoon kosher salt in a medium bowl. In a separate bowl, beat 3 egg yolks and ¼ cup sugar with a hand mixer until ribbony, then stream in ¼ cup neutral oil, ¼ cup buttermilk, and a teaspoon of vanilla extract. Pour the yolk mixture into the flour mixture and whisk until smooth. In a separate bowl, combine three egg whites, ¼ cup sugar, and a pinch of cream of tartar and beat with an electric mixer to stiff peaks. Fold the whites into the batter, then scrape onto a parchment-lined half sheet tray. Bake in a 225-degree oven until springy to the touch and golden, then let cool. Trim the edges then cut the sponge into 6-cm-wide strips and trim them horizontally so they’re about 7mm thick. Freeze the pieces. \n\nTo make the filling, combine 3 ounces egg whites, 5.5 ounces of sugar, ½ teaspoon kosher salt, and a pinch of cream of tartar in the bowl of a stand mixer set over a double boiler and stir until the sugar dissolves. Whip the egg whites until firm peaks form and the meringue is room temperature, then gradually beat in 10 ounces of room temperature butter. Scrape down the sides of the bowl and beat in 1 tablespoon of vanilla paste. Pipe a layer of buttercream onto the surfaces of the cake strips using a basketweave tip, then sandwich the cake together. Chill briefly, then cut out hexagons using a serrated knife and template. Chill the cakes. \n\nIn a large bowl, whisk together 4 cups powdered sugar, ¼ cup hot water, ¼ cup light corn syrup, and 1 teaspoon vanilla extract until smooth. Whisk in 142g melted white chocolate, then thin with more hot water to the desired consistency. Place over a saucepan of hot water to keep warm. Spread a thin layer over the tops of the cakes, let set at room temperature, then place the cakes one at a time glaze-size down on a large fork and spoon the glaze over the cakes until fully enrobed. Place on a wire rack and let set. Pipe thin lines of melted chocolate over the surfaces of the cakes in a wavy pattern and let set.", "I Tried Making Homemade Zebra Cakes | Claire Recreates", "7df7e841-3fb8-4ed7-95a5-a90d627985b2", 9, [], 2744, false, "OtgomG_a0jg", "https://www.youtube.com/watch?v=OtgomG_a0jg", 2, "/downloads/shows/Claire Recreates/Season 2024/s2024e052800 - I Tried Making Homemade Zebra Cakes | Claire Recreates.mkv", false, false, false, 1, ~U[2024-05-28 13:00:19Z], ~U[2026-04-16 10:46:38Z], ~U[2026-04-16 10:46:38Z], "I Tried Making Homemade Zebra Cakes | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Little Debbie Zebra Cakes. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #zebracake #cake \n\nChapters:\n00:00 Intro\n00:43 Zebra Cakes\n01:20 Taste test (Original)\n06:28 Game plan\n06:41 Bake cake\n16:37 Make the filling\n22:23 Fill & stack\n25:28 Cut out hexagons\n27:56 Fondant & glaze\n38:14 Chocolate stripes\n42:15 Comparison\n45:28 Spud gets brushed!\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make zebra cakes, start by whisking ¾ cup cake flour, ¼ teaspoon baking powder, ⅛ teaspoon baking soda, and ¾ teaspoon kosher salt in a medium bowl. In a separate bowl, beat 3 egg yolks and ¼ cup sugar with a hand mixer until ribbony, then stream in ¼ cup neutral oil, ¼ cup buttermilk, and a teaspoon of vanilla extract. Pour the yolk mixture into the flour mixture and whisk until smooth. In a separate bowl, combine three egg whites, ¼ cup sugar, and a pinch of cream of tartar and beat with an electric mixer to stiff peaks. Fold the whites into the batter, then scrape onto a parchment-lined half sheet tray. Bake in a 225-degree oven until springy to the touch and golden, then let cool. Trim the edges then cut the sponge into 6-cm-wide strips and trim them horizontally so they’re about 7mm thick. Freeze the pieces. \n\nTo make the filling, combine 3 ounces egg whites, 5.5 ounces of sugar, ½ teaspoon kosher salt, and a pinch of cream of tartar in the bowl of a stand mixer set over a double boiler and stir until the sugar dissolves. Whip the egg whites until firm peaks form and the meringue is room temperature, then gradually beat in 10 ounces of room temperature butter. Scrape down the sides of the bowl and beat in 1 tablespoon of vanilla paste. Pipe a layer of buttercream onto the surfaces of the cake strips using a basketweave tip, then sandwich the cake together. Chill briefly, then cut out hexagons using a serrated knife and template. Chill the cakes. \n\nIn a large bowl, whisk together 4 cups powdered sugar, ¼ cup hot water, ¼ cup light corn syrup, and 1 teaspoon vanilla extract until smooth. Whisk in 142g melted white chocolate, then thin with more hot water to the desired consistency. Place over a saucepan of hot water to keep warm. Spread a thin layer over the tops of the cakes, let set at room temperature, then place the cakes one at a time glaze-size down on a large fork and spoon the glaze over the cakes until fully (truncated) 12:46:38.590 [debug] QUERY OK source="sources" db=0.2ms idle=20.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:38.590 [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] 12:46:38.591 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29415] 12:46:38.591 [debug] Current batch of media processed. Will check again in 1000ms 12:46:39.592 [debug] Current batch of media processed. Will check again in 1000ms 12:46:40.593 [debug] Current batch of media processed. Will check again in 1000ms 12:46:41.594 [debug] Current batch of media processed. Will check again in 1000ms 12:46:42.595 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Cosmic Brownies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tackles beloved childhood snacks and popular meals with a unique twist. In today's episode, she focuses on Little Debbie Cosmic Brownies. Join Claire as she reimagines these classics, offering delicious recipes perfect for home cooking enthusiasts. If you're nostalgic for your favorite foods and intrigued by the art of recipe development, this series is for you! Don't miss Claire's creative take on these timeless dishes.\n\n#cosmicbrownies #clairesaffitz #brownie \n\nChapters:\n00:00 Intro\n01:14 Basic components\n01:53 Taste test\n04:19 Measurements\n08:36 Game plan\n10:34 Temper the chocolate\n16:12 Make the candy coating\n23:29 Make the brownies\n29:12 Make the royal icing\n31:28 Make the glaze\n37:19 Assemble\n39:17 Conclusion\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nBROWNIES\n6.6 ounces bittersweet chocolate\n1 stick unsalted butter\n5.55 ounces confectioners’ sugar\n2 large egg yolks\n1 teaspoon kosher salt\n2 teaspoon vanilla extract or paste\n6 ounces all-purpose flour\n\nFUDGE FROSTING\n4 tablespoons unsalted butter\n1½ cups (300g) sugar\n2 tablespoons unsweetened cocoa powder\n¾ cup whole milk\nGenerous pinch of kosher salt\n1 teaspoon vanilla extract\n1½ ounces unsweetened chocolate\n\nBROWNIES: Preheat the oven to 350°F. Lightly butter the bottom and sides of a ¼ sheet pan. Line the bottom and two longer sides with a piece of parchment paper, smoothing to eliminate air bubbles. Melt chocolate and butter in a large bowl set over a double boiler, stirring often with a flexible heat-proof spatula. Remove from the heat and add the sugar, yolks, salt, and vanilla and whisk vigorously. Add the flour and fold thoroughly with the spatula until you have a homogenous dough. Spread into the prepared pan with an offset spatula in a smooth, even layer. Bake in a water bath until the brownies are set, 18 to 22 minutes. Remove from the oven and let cool completely.", "duration" => 2675, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e062100 - I Tried Making Homemade Cosmic Brownies | Claire Recreates.mkv", "id" => "BpA0hvBfnO0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BpA0hvBfnO0", "playlist_index" => 3, "timestamp" => 1718974811, "title" => "I Tried Making Homemade Cosmic Brownies | Claire Recreates", "upload_date" => "20240621"} 12:46:42.596 [debug] QUERY OK source="sources" db=0.2ms idle=299.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:46:42.596 [debug] QUERY OK source="sources" db=0.1ms idle=299.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:42.597 [debug] QUERY OK source="media_items" db=0.2ms idle=300.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-21 13:00:11Z], 9] 12:46:42.599 [debug] QUERY OK source="media_items" db=1.6ms idle=300.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Cosmic Brownies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tackles beloved childhood snacks and popular meals with a unique twist. In today's episode, she focuses on Little Debbie Cosmic Brownies. Join Claire as she reimagines these classics, offering delicious recipes perfect for home cooking enthusiasts. If you're nostalgic for your favorite foods and intrigued by the art of recipe development, this series is for you! Don't miss Claire's creative take on these timeless dishes.\n\n#cosmicbrownies #clairesaffitz #brownie \n\nChapters:\n00:00 Intro\n01:14 Basic components\n01:53 Taste test\n04:19 Measurements\n08:36 Game plan\n10:34 Temper the chocolate\n16:12 Make the candy coating\n23:29 Make the brownies\n29:12 Make the royal icing\n31:28 Make the glaze\n37:19 Assemble\n39:17 Conclusion\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nBROWNIES\n6.6 ounces bittersweet chocolate\n1 stick unsalted butter\n5.55 ounces confectioners’ sugar\n2 large egg yolks\n1 teaspoon kosher salt\n2 teaspoon vanilla extract or paste\n6 ounces all-purpose flour\n\nFUDGE FROSTING\n4 tablespoons unsalted butter\n1½ cups (300g) sugar\n2 tablespoons unsweetened cocoa powder\n¾ cup whole milk\nGenerous pinch of kosher salt\n1 teaspoon vanilla extract\n1½ ounces unsweetened chocolate\n\nBROWNIES: Preheat the oven to 350°F. Lightly butter the bottom and sides of a ¼ sheet pan. Line the bottom and two longer sides with a piece of parchment paper, smoothing to eliminate air bubbles. Melt chocolate and butter in a large bowl set over a double boiler, stirring often with a flexible heat-proof spatula. Remove from the heat and add the sugar, yolks, salt, and vanilla and whisk vigorously. Add the flour and fold thoroughly with the spatula until you have a homogenous dough. Spread into the prepared pan with an offset spatula in a smooth, even layer. Bake in a water bath until the brownies are set, 18 to 22 minutes. Remove from the oven and let cool completely.", "I Tried Making Homemade Cosmic Brownies | Claire Recreates", "01a795e2-ed2d-463c-98c5-369c5bb9469d", 9, [], 2675, false, "BpA0hvBfnO0", "https://www.youtube.com/watch?v=BpA0hvBfnO0", 3, "/downloads/shows/Claire Recreates/Season 2024/s2024e062100 - I Tried Making Homemade Cosmic Brownies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-06-21 13:00:11Z], ~U[2026-04-16 10:46:42Z], ~U[2026-04-16 10:46:42Z], "I Tried Making Homemade Cosmic Brownies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tackles beloved childhood snacks and popular meals with a unique twist. In today's episode, she focuses on Little Debbie Cosmic Brownies. Join Claire as she reimagines these classics, offering delicious recipes perfect for home cooking enthusiasts. If you're nostalgic for your favorite foods and intrigued by the art of recipe development, this series is for you! Don't miss Claire's creative take on these timeless dishes.\n\n#cosmicbrownies #clairesaffitz #brownie \n\nChapters:\n00:00 Intro\n01:14 Basic components\n01:53 Taste test\n04:19 Measurements\n08:36 Game plan\n10:34 Temper the chocolate\n16:12 Make the candy coating\n23:29 Make the brownies\n29:12 Make the royal icing\n31:28 Make the glaze\n37:19 Assemble\n39:17 Conclusion\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nBROWNIES\n6.6 ounces bittersweet chocolate\n1 stick unsalted butter\n5.55 ounces confectioners’ sugar\n2 large egg yolks\n1 teaspoon kosher salt\n2 teaspoon vanilla extract or paste\n6 ounces all-purpose flour\n\nFUDGE FROSTING\n4 tablespoons unsalted butter\n1½ cups (300g) sugar\n2 tablespoons unsweetened cocoa powder\n¾ cup whole milk\nGenerous pinch of kosher salt\n1 teaspoon vanilla extract\n1½ ounces unsweetened chocolate\n\nBROWNIES: Preheat the oven to 350°F. Lightly butter the bottom and sides of a ¼ sheet pan. Line the bottom and two longer sides with a piece of parchment paper, smoothing to eliminate air bubbles. Melt chocolate and butter in a large bowl set over a double boiler, stirring often with a flexible heat-proof spatula. Remove from the heat and add the sugar, yolks, salt, and vanilla and whisk vigorously. Add the flour and fold thoroughly with the spatula until you have a homogenous dough. Spread into the prepared pan with an offset spatula in a smooth, even layer. Bake in a water bath until the brownies are set, 18 to 22 minutes. Remove from the oven and let cool completely.", "I Tried Making Homemade Cosmic Brownies | Claire Recreates", 9, 2675, false, "BpA0hvBfnO0", "https://www.youtube.com/watch?v=BpA0hvBfnO0", "/downloads/shows/Claire Recreates/Season 2024/s2024e062100 - I Tried Making Homemade Cosmic Brownies | Claire Recreates.mkv", false, ~U[2024-06-21 13:00:11Z]] 12:46:42.600 [debug] QUERY OK source="sources" db=0.3ms idle=23.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:42.600 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:46:42.601 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29416] 12:46:42.601 [debug] Current batch of media processed. Will check again in 1000ms 12:46:43.602 [debug] Current batch of media processed. Will check again in 1000ms 12:46:44.603 [debug] Current batch of media processed. Will check again in 1000ms 12:46:45.604 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz takes on nostalgic childhood snacks and popular meals, adding her own creative twist. In today's episode, she focuses on Strawberry Shortcake Bars, pairing them with homemade ice cream. Join Claire as she reimagines these classics, sharing delicious recipes perfect for home cooking enthusiasts. If you have a soft spot for your favorite foods and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive approach to these timeless treats.\n\n#strawberryshortcake #clairesaffitz #icecream \n\nChapters:\n00:00 Intro\n00:28 Strawberry shortcake bars\n01:12 Taste test\n02:53 Reading the ingredients\n04:01 Measurements\n07:03 Game plan\n09:16 Make the ice cream base\n12:47 Make strawberry ice cream base\n15:38 Make the strawberry cores\n24:07 Make cake crumbs\n28:34 Fill molds\n45:10 Assemble\n46:05 Comparison\n49:32 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nStrawberry Shortcake Bars\nMakes 8\n\nVANILLA ICE CREAM\n8 large egg yolks\n¾ cup granulated sugar\n½ teaspoon kosher salt\n1 tablespoon vanilla paste\n3 cups whole milk\n1 cup heavy cream\n\n1 pound strawberries chopped, mixed with 2 tbsp sugar, roasted at 275 for 1 hour, stir a few times, blend in to half of vanilla base and flavor with 1 Tbsp hibiscus powder and 20g freeze dried strawberries, strain, process\n\nSUGAR COOKIE CRUMBS\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour\n\nSTRAWBERRY VERSION\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour", "duration" => 2988, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e080800 - I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates.mkv", "id" => "dPBXgwJD35E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dPBXgwJD35E", "playlist_index" => 4, "timestamp" => 1723137303, "title" => "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates", "upload_date" => "20240808"} 12:46:45.605 [debug] QUERY OK source="sources" db=0.1ms idle=1308.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:46:45.605 [debug] QUERY OK source="sources" db=0.1ms idle=1308.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:45.606 [debug] QUERY OK source="media_items" db=0.2ms idle=1309.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-08 17:15:03Z], 9] 12:46:45.608 [debug] QUERY OK source="media_items" db=1.6ms idle=1027.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz takes on nostalgic childhood snacks and popular meals, adding her own creative twist. In today's episode, she focuses on Strawberry Shortcake Bars, pairing them with homemade ice cream. Join Claire as she reimagines these classics, sharing delicious recipes perfect for home cooking enthusiasts. If you have a soft spot for your favorite foods and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive approach to these timeless treats.\n\n#strawberryshortcake #clairesaffitz #icecream \n\nChapters:\n00:00 Intro\n00:28 Strawberry shortcake bars\n01:12 Taste test\n02:53 Reading the ingredients\n04:01 Measurements\n07:03 Game plan\n09:16 Make the ice cream base\n12:47 Make strawberry ice cream base\n15:38 Make the strawberry cores\n24:07 Make cake crumbs\n28:34 Fill molds\n45:10 Assemble\n46:05 Comparison\n49:32 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nStrawberry Shortcake Bars\nMakes 8\n\nVANILLA ICE CREAM\n8 large egg yolks\n¾ cup granulated sugar\n½ teaspoon kosher salt\n1 tablespoon vanilla paste\n3 cups whole milk\n1 cup heavy cream\n\n1 pound strawberries chopped, mixed with 2 tbsp sugar, roasted at 275 for 1 hour, stir a few times, blend in to half of vanilla base and flavor with 1 Tbsp hibiscus powder and 20g freeze dried strawberries, strain, process\n\nSUGAR COOKIE CRUMBS\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour\n\nSTRAWBERRY VERSION\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour", "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates", "70ae4bad-c146-4dbe-b5eb-5f6c62a8f3dd", 9, [], 2988, false, "dPBXgwJD35E", "https://www.youtube.com/watch?v=dPBXgwJD35E", 4, "/downloads/shows/Claire Recreates/Season 2024/s2024e080800 - I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates.mkv", false, false, false, 1, ~U[2024-08-08 17:15:03Z], ~U[2026-04-16 10:46:45Z], ~U[2026-04-16 10:46:45Z], "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz takes on nostalgic childhood snacks and popular meals, adding her own creative twist. In today's episode, she focuses on Strawberry Shortcake Bars, pairing them with homemade ice cream. Join Claire as she reimagines these classics, sharing delicious recipes perfect for home cooking enthusiasts. If you have a soft spot for your favorite foods and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive approach to these timeless treats.\n\n#strawberryshortcake #clairesaffitz #icecream \n\nChapters:\n00:00 Intro\n00:28 Strawberry shortcake bars\n01:12 Taste test\n02:53 Reading the ingredients\n04:01 Measurements\n07:03 Game plan\n09:16 Make the ice cream base\n12:47 Make strawberry ice cream base\n15:38 Make the strawberry cores\n24:07 Make cake crumbs\n28:34 Fill molds\n45:10 Assemble\n46:05 Comparison\n49:32 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nStrawberry Shortcake Bars\nMakes 8\n\nVANILLA ICE CREAM\n8 large egg yolks\n¾ cup granulated sugar\n½ teaspoon kosher salt\n1 tablespoon vanilla paste\n3 cups whole milk\n1 cup heavy cream\n\n1 pound strawberries chopped, mixed with 2 tbsp sugar, roasted at 275 for 1 hour, stir a few times, blend in to half of vanilla base and flavor with 1 Tbsp hibiscus powder and 20g freeze dried strawberries, strain, process\n\nSUGAR COOKIE CRUMBS\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour\n\nSTRAWBERRY VERSION\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour", "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates", 9, 2988, false, "dPBXgwJD35E", "https://www.youtube.com/watch?v=dPBXgwJD35E", "/downloads/shows/Claire Recreates/Season 2024/s2024e080800 - I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates.mkv", false, ~U[2024-08-08 17:15:03Z]] 12:46:45.608 [debug] QUERY OK source="sources" db=0.2ms idle=28.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:45.609 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 12:46:45.610 [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 [29417] 12:46:45.610 [debug] Current batch of media processed. Will check again in 1000ms 12:46:46.611 [debug] Current batch of media processed. Will check again in 1000ms 12:46:47.612 [debug] Current batch of media processed. Will check again in 1000ms 12:46:48.613 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Uncrustables | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she tackles the beloved Smucker’s Uncrustables, giving them a creative, from-scratch makeover. Claire takes no shortcuts, making her own homemade white bread, peanut butter, and jelly, transforming this nostalgic lunchbox staple into something truly special. If you’re a fan of classic snacks and curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive twist on this timeless favorite.\n\n#clairesaffitz #homemade #uncrustables \n\nChapters:\n00:00 Intro\n00:54 How does Claire Saffitz make a PBJ?\n01:50 Taste test\n02:19 Basic Components\n02:48 Reading the Ingredients\n03:50 Game Plan\n04:32 Soft White Bread\n06:31 Cal calls Uncrustables\n06:59 Peanut butter\n13:44 Grape Jelly\n18:10 Assembly\n26:47 Comparison\n28:58 Cat Cam\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nSOFT WHITE BREAD\nMakes 1 loaf\n\nTANGZHONG\n½ cup whole milk\n½ cup water\n50g (6 tablespoons) bread flour\n\nDOUGH\n3 cups (390g) bread flour, plus more, if needed, for work surface\n¼ cup water\n¼ cup milk \n2 tablespoons granulated sugar\n4 tablespoons neutral oil\n9g kosher salt (2½ teaspoons Diamond Crystal kosher salt)\n2 teaspoons instant yeast\n\nGrape Jelly\n2 lbs green apples\n1 quart 100% Concord grape juice\n1 cup sugar\n2 tablespoons lemon juice\n\nPeanut Butter\n3 cups roasted salted peanuts, toasted until golden brown\nGenerous pinch of salt\n2 teaspoons of honey", "duration" => 1750, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e092500 - I Tried Making Homemade Uncrustables | Claire Recreates.mkv", "id" => "3eIbzifSZYY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3eIbzifSZYY", "playlist_index" => 5, "timestamp" => 1727269205, "title" => "I Tried Making Homemade Uncrustables | Claire Recreates", "upload_date" => "20240925"} 12:46:48.614 [debug] QUERY OK source="sources" db=0.3ms idle=1317.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:46:48.614 [debug] QUERY OK source="sources" db=0.2ms idle=1318.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:48.615 [debug] QUERY OK source="media_items" db=0.2ms idle=1318.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-25 13:00:05Z], 9] 12:46:48.632 [debug] QUERY OK source="media_items" db=16.0ms queue=0.1ms idle=1033.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Uncrustables | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she tackles the beloved Smucker’s Uncrustables, giving them a creative, from-scratch makeover. Claire takes no shortcuts, making her own homemade white bread, peanut butter, and jelly, transforming this nostalgic lunchbox staple into something truly special. If you’re a fan of classic snacks and curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive twist on this timeless favorite.\n\n#clairesaffitz #homemade #uncrustables \n\nChapters:\n00:00 Intro\n00:54 How does Claire Saffitz make a PBJ?\n01:50 Taste test\n02:19 Basic Components\n02:48 Reading the Ingredients\n03:50 Game Plan\n04:32 Soft White Bread\n06:31 Cal calls Uncrustables\n06:59 Peanut butter\n13:44 Grape Jelly\n18:10 Assembly\n26:47 Comparison\n28:58 Cat Cam\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nSOFT WHITE BREAD\nMakes 1 loaf\n\nTANGZHONG\n½ cup whole milk\n½ cup water\n50g (6 tablespoons) bread flour\n\nDOUGH\n3 cups (390g) bread flour, plus more, if needed, for work surface\n¼ cup water\n¼ cup milk \n2 tablespoons granulated sugar\n4 tablespoons neutral oil\n9g kosher salt (2½ teaspoons Diamond Crystal kosher salt)\n2 teaspoons instant yeast\n\nGrape Jelly\n2 lbs green apples\n1 quart 100% Concord grape juice\n1 cup sugar\n2 tablespoons lemon juice\n\nPeanut Butter\n3 cups roasted salted peanuts, toasted until golden brown\nGenerous pinch of salt\n2 teaspoons of honey", "I Tried Making Homemade Uncrustables | Claire Recreates", "db340913-03cd-4ce1-9f58-868cefea04d7", 9, [], 1750, false, "3eIbzifSZYY", "https://www.youtube.com/watch?v=3eIbzifSZYY", 5, "/downloads/shows/Claire Recreates/Season 2024/s2024e092500 - I Tried Making Homemade Uncrustables | Claire Recreates.mkv", false, false, false, 1, ~U[2024-09-25 13:00:05Z], ~U[2026-04-16 10:46:48Z], ~U[2026-04-16 10:46:48Z], "I Tried Making Homemade Uncrustables | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she tackles the beloved Smucker’s Uncrustables, giving them a creative, from-scratch makeover. Claire takes no shortcuts, making her own homemade white bread, peanut butter, and jelly, transforming this nostalgic lunchbox staple into something truly special. If you’re a fan of classic snacks and curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive twist on this timeless favorite.\n\n#clairesaffitz #homemade #uncrustables \n\nChapters:\n00:00 Intro\n00:54 How does Claire Saffitz make a PBJ?\n01:50 Taste test\n02:19 Basic Components\n02:48 Reading the Ingredients\n03:50 Game Plan\n04:32 Soft White Bread\n06:31 Cal calls Uncrustables\n06:59 Peanut butter\n13:44 Grape Jelly\n18:10 Assembly\n26:47 Comparison\n28:58 Cat Cam\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nSOFT WHITE BREAD\nMakes 1 loaf\n\nTANGZHONG\n½ cup whole milk\n½ cup water\n50g (6 tablespoons) bread flour\n\nDOUGH\n3 cups (390g) bread flour, plus more, if needed, for work surface\n¼ cup water\n¼ cup milk \n2 tablespoons granulated sugar\n4 tablespoons neutral oil\n9g kosher salt (2½ teaspoons Diamond Crystal kosher salt)\n2 teaspoons instant yeast\n\nGrape Jelly\n2 lbs green apples\n1 quart 100% Concord grape juice\n1 cup sugar\n2 tablespoons lemon juice\n\nPeanut Butter\n3 cups roasted salted peanuts, toasted until golden brown\nGenerous pinch of salt\n2 teaspoons of honey", "I Tried Making Homemade Uncrustables | Claire Recreates", 9, 1750, false, "3eIbzifSZYY", "https://www.youtube.com/watch?v=3eIbzifSZYY", "/downloads/shows/Claire Recreates/Season 2024/s2024e092500 - I Tried Making Homemade Uncrustables | Claire Recreates.mkv", false, ~U[2024-09-25 13:00:05Z]] 12:46:48.632 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=49.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:48.633 [debug] QUERY OK source="media_profiles" db=0.1ms idle=18.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:46:48.633 [debug] QUERY OK source="media_items" db=0.2ms idle=18.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29418] 12:46:48.633 [debug] Current batch of media processed. Will check again in 1000ms 12:46:49.634 [debug] Current batch of media processed. Will check again in 1000ms 12:46:50.635 [debug] Current batch of media processed. Will check again in 1000ms 12:46:51.636 [debug] Current batch of media processed. Will check again in 1000ms 12:46:52.637 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she steps out to explore restaurant staples, starting with the iconic McDonald’s Apple Pie. Claire meticulously dissects the fast-food favorite, recreating it from scratch with her own version of a hand pie. From crafting a flaky, golden dough to making a perfectly spiced apple filling, Claire transforms this nostalgic dessert into a homemade masterpiece. If you love classic treats and are curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless favorite.\n\n#clairesaffitz #mcdonalds #applepie \n\nChapters:\n00:00 Intro\n00:30 McDonald’s Drive-Thru\n02:14 Back to the kitchen\n02:51 Measurements\n04:36 How To Make Baked Apple Pie\n04:49 Reading the Ingredients\n05:23 Doing some research\n05:49 How To Make Pastry\n09:47 How To Make Apple Filling\n21:09 Testing the lattice\n24:39 Assembly\n28:43 Baking\n30:26 McDonald’s vs Claire Saffitz\n32:18 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1957, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e102400 - I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates.mkv", "id" => "JPcLcSbYL94", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JPcLcSbYL94", "playlist_index" => 6, "timestamp" => 1729789223, "title" => "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates", "upload_date" => "20241024"} 12:46:52.638 [debug] QUERY OK source="sources" db=0.1ms idle=341.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:46:52.638 [debug] QUERY OK source="sources" db=0.1ms idle=341.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:52.639 [debug] QUERY OK source="media_items" db=0.2ms idle=342.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-24 17:00:23Z], 9] 12:46:52.642 [debug] QUERY OK source="media_items" db=3.0ms idle=342.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she steps out to explore restaurant staples, starting with the iconic McDonald’s Apple Pie. Claire meticulously dissects the fast-food favorite, recreating it from scratch with her own version of a hand pie. From crafting a flaky, golden dough to making a perfectly spiced apple filling, Claire transforms this nostalgic dessert into a homemade masterpiece. If you love classic treats and are curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless favorite.\n\n#clairesaffitz #mcdonalds #applepie \n\nChapters:\n00:00 Intro\n00:30 McDonald’s Drive-Thru\n02:14 Back to the kitchen\n02:51 Measurements\n04:36 How To Make Baked Apple Pie\n04:49 Reading the Ingredients\n05:23 Doing some research\n05:49 How To Make Pastry\n09:47 How To Make Apple Filling\n21:09 Testing the lattice\n24:39 Assembly\n28:43 Baking\n30:26 McDonald’s vs Claire Saffitz\n32:18 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates", "57566163-3d06-4354-a057-2baebbd02a83", 9, [], 1957, false, "JPcLcSbYL94", "https://www.youtube.com/watch?v=JPcLcSbYL94", 6, "/downloads/shows/Claire Recreates/Season 2024/s2024e102400 - I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates.mkv", false, false, false, 1, ~U[2024-10-24 17:00:23Z], ~U[2026-04-16 10:46:52Z], ~U[2026-04-16 10:46:52Z], "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she steps out to explore restaurant staples, starting with the iconic McDonald’s Apple Pie. Claire meticulously dissects the fast-food favorite, recreating it from scratch with her own version of a hand pie. From crafting a flaky, golden dough to making a perfectly spiced apple filling, Claire transforms this nostalgic dessert into a homemade masterpiece. If you love classic treats and are curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless favorite.\n\n#clairesaffitz #mcdonalds #applepie \n\nChapters:\n00:00 Intro\n00:30 McDonald’s Drive-Thru\n02:14 Back to the kitchen\n02:51 Measurements\n04:36 How To Make Baked Apple Pie\n04:49 Reading the Ingredients\n05:23 Doing some research\n05:49 How To Make Pastry\n09:47 How To Make Apple Filling\n21:09 Testing the lattice\n24:39 Assembly\n28:43 Baking\n30:26 McDonald’s vs Claire Saffitz\n32:18 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates", 9, 1957, false, "JPcLcSbYL94", "https://www.youtube.com/watch?v=JPcLcSbYL94", "/downloads/shows/Claire Recreates/Season 2024/s2024e102400 - I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates.mkv", false, ~U[2024-10-24 17:00:23Z]] 12:46:52.643 [debug] QUERY OK source="sources" db=0.1ms idle=54.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:52.643 [debug] QUERY OK source="media_profiles" db=0.4ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:46:52.644 [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 [29419] 12:46:52.644 [debug] Current batch of media processed. Will check again in 1000ms 12:46:53.646 [debug] Current batch of media processed. Will check again in 1000ms 12:46:54.647 [debug] Current batch of media processed. Will check again in 1000ms 12:46:55.648 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Mallomars | Claire Recreates\nOn this special episode of Claire Recreates, Claire Saffitz tackles the beloved Mallomars, a treat adored in the Northeast but deserving of nationwide love. From crafting the perfect graham cracker base to whipping up a fluffy marshmallow and dipping it all in luscious chocolate, Claire brings this classic to life in a way only she can. If you love reimagined classics and want to celebrate the joy of homemade desserts, this episode is a must-watch. Don’t miss Claire’s creative take on this iconic treat—perfect for the holiday season! Happy Thanksgiving! We’re incredibly thankful for everyone who has joined us on this channel.\n\n#clairesaffitz #mallomars #smores #chocolate \n\nChapters:\n00:00 Intro\n00:25 Mallomars\n02:06 Measurements\n02:42 Ingredients\n03:30 Game plan\n03:58 Cookie base\n15:59 Marshmallow topper\n23:37 Assemble cookies\n24:59 Temper chocolate & enrobe\n29:27 Snap test\n30:03 Comparison\n31:53 Harris review\n32:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1971, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e112800 - I Tried Making Homemade Mallomars | Claire Recreates.mkv", "id" => "Qh9zncazwM8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Qh9zncazwM8", "playlist_index" => 7, "timestamp" => 1732805102, "title" => "I Tried Making Homemade Mallomars | Claire Recreates", "upload_date" => "20241128"} 12:46:55.649 [debug] QUERY OK source="sources" db=0.2ms idle=1352.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:46:55.649 [debug] QUERY OK source="sources" db=0.2ms idle=1352.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:55.650 [debug] QUERY OK source="media_items" db=0.2ms idle=1353.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-28 14:45:02Z], 9] 12:46:55.652 [debug] QUERY OK source="media_items" db=1.3ms idle=1053.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Mallomars | Claire Recreates\nOn this special episode of Claire Recreates, Claire Saffitz tackles the beloved Mallomars, a treat adored in the Northeast but deserving of nationwide love. From crafting the perfect graham cracker base to whipping up a fluffy marshmallow and dipping it all in luscious chocolate, Claire brings this classic to life in a way only she can. If you love reimagined classics and want to celebrate the joy of homemade desserts, this episode is a must-watch. Don’t miss Claire’s creative take on this iconic treat—perfect for the holiday season! Happy Thanksgiving! We’re incredibly thankful for everyone who has joined us on this channel.\n\n#clairesaffitz #mallomars #smores #chocolate \n\nChapters:\n00:00 Intro\n00:25 Mallomars\n02:06 Measurements\n02:42 Ingredients\n03:30 Game plan\n03:58 Cookie base\n15:59 Marshmallow topper\n23:37 Assemble cookies\n24:59 Temper chocolate & enrobe\n29:27 Snap test\n30:03 Comparison\n31:53 Harris review\n32:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Mallomars | Claire Recreates", "97952dff-5172-484f-b42f-873e2d6cdd71", 9, [], 1971, false, "Qh9zncazwM8", "https://www.youtube.com/watch?v=Qh9zncazwM8", 7, "/downloads/shows/Claire Recreates/Season 2024/s2024e112800 - I Tried Making Homemade Mallomars | Claire Recreates.mkv", false, false, false, 1, ~U[2024-11-28 14:45:02Z], ~U[2026-04-16 10:46:55Z], ~U[2026-04-16 10:46:55Z], "I Tried Making Homemade Mallomars | Claire Recreates\nOn this special episode of Claire Recreates, Claire Saffitz tackles the beloved Mallomars, a treat adored in the Northeast but deserving of nationwide love. From crafting the perfect graham cracker base to whipping up a fluffy marshmallow and dipping it all in luscious chocolate, Claire brings this classic to life in a way only she can. If you love reimagined classics and want to celebrate the joy of homemade desserts, this episode is a must-watch. Don’t miss Claire’s creative take on this iconic treat—perfect for the holiday season! Happy Thanksgiving! We’re incredibly thankful for everyone who has joined us on this channel.\n\n#clairesaffitz #mallomars #smores #chocolate \n\nChapters:\n00:00 Intro\n00:25 Mallomars\n02:06 Measurements\n02:42 Ingredients\n03:30 Game plan\n03:58 Cookie base\n15:59 Marshmallow topper\n23:37 Assemble cookies\n24:59 Temper chocolate & enrobe\n29:27 Snap test\n30:03 Comparison\n31:53 Harris review\n32:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Mallomars | Claire Recreates", 9, 1971, false, "Qh9zncazwM8", "https://www.youtube.com/watch?v=Qh9zncazwM8", "/downloads/shows/Claire Recreates/Season 2024/s2024e112800 - I Tried Making Homemade Mallomars | Claire Recreates.mkv", false, ~U[2024-11-28 14:45:02Z]] 12:46:55.652 [debug] QUERY OK source="sources" db=0.2ms idle=54.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:55.653 [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] 12:46:55.653 [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 [29420] 12:46:55.654 [debug] Current batch of media processed. Will check again in 1000ms 12:46:56.654 [debug] Current batch of media processed. Will check again in 1000ms 12:46:57.655 [debug] Current batch of media processed. Will check again in 1000ms 12:46:58.656 [debug] Current batch of media processed. Will check again in 1000ms 12:46:59.657 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Milano Cookies | Claire Recreates\nIn this special holiday episode of Claire Recreates, Claire Saffitz takes on the beloved Pepperidge Farm Milano Cookies, a holiday favorite that deserves a homemade makeover. Claire is determined to recreate the classic cookie, from baking the perfect buttery, delicate biscuit to making a smooth, decadent chocolate filling. With her signature flair, Claire transforms this iconic treat into a homemade version that’s even more irresistible than the original. If you love reimagined classics and want to impress your guests with a holiday dessert that’s both nostalgic and elevated, this episode is a must-watch. Don’t miss Claire’s delicious twist on the Milano Cookie—perfect for celebrating the season! As we close out 2024, we’re incredibly thankful for everyone who’s supported this channel. Happy Holidays!\n\n#clairesaffitz #cookies #dessert \n\nChapters:\n00:00 Intro\n00:26 Milano cookies\n02:08 Taste test\n02:46 Measurements\n03:54 Reading the ingredients\n04:54 Game plan\n05:22 Harris' Milano Tip\n06:12 Make & bake cookies\n07:47 Making the batter\n09:47 Piping the cookies\n13:36 Making cookie improvements\n29:33 Make mint layer\n31:55 Temper chocolate\n33:29 Assembly\n35:06 Comparison \n36:24 Harris’ review\n36:56 Conclusion\n37:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 2271, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e123100 - I Tried Making Homemade Milano Cookies | Claire Recreates.mkv", "id" => "L_Xu-Tt7fHA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=L_Xu-Tt7fHA", "playlist_index" => 8, "timestamp" => 1735657227, "title" => "I Tried Making Homemade Milano Cookies | Claire Recreates", "upload_date" => "20241231"} 12:46:59.658 [debug] QUERY OK source="sources" db=0.2ms idle=361.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:46:59.658 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=362.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:59.659 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=362.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-31 15:00:27Z], 9] 12:46:59.661 [debug] QUERY OK source="media_items" db=1.4ms idle=363.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Milano Cookies | Claire Recreates\nIn this special holiday episode of Claire Recreates, Claire Saffitz takes on the beloved Pepperidge Farm Milano Cookies, a holiday favorite that deserves a homemade makeover. Claire is determined to recreate the classic cookie, from baking the perfect buttery, delicate biscuit to making a smooth, decadent chocolate filling. With her signature flair, Claire transforms this iconic treat into a homemade version that’s even more irresistible than the original. If you love reimagined classics and want to impress your guests with a holiday dessert that’s both nostalgic and elevated, this episode is a must-watch. Don’t miss Claire’s delicious twist on the Milano Cookie—perfect for celebrating the season! As we close out 2024, we’re incredibly thankful for everyone who’s supported this channel. Happy Holidays!\n\n#clairesaffitz #cookies #dessert \n\nChapters:\n00:00 Intro\n00:26 Milano cookies\n02:08 Taste test\n02:46 Measurements\n03:54 Reading the ingredients\n04:54 Game plan\n05:22 Harris' Milano Tip\n06:12 Make & bake cookies\n07:47 Making the batter\n09:47 Piping the cookies\n13:36 Making cookie improvements\n29:33 Make mint layer\n31:55 Temper chocolate\n33:29 Assembly\n35:06 Comparison \n36:24 Harris’ review\n36:56 Conclusion\n37:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Milano Cookies | Claire Recreates", "6c9fa40f-0169-43d9-98c2-116be1d6b432", 9, [], 2271, false, "L_Xu-Tt7fHA", "https://www.youtube.com/watch?v=L_Xu-Tt7fHA", 8, "/downloads/shows/Claire Recreates/Season 2024/s2024e123100 - I Tried Making Homemade Milano Cookies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-12-31 15:00:27Z], ~U[2026-04-16 10:46:59Z], ~U[2026-04-16 10:46:59Z], "I Tried Making Homemade Milano Cookies | Claire Recreates\nIn this special holiday episode of Claire Recreates, Claire Saffitz takes on the beloved Pepperidge Farm Milano Cookies, a holiday favorite that deserves a homemade makeover. Claire is determined to recreate the classic cookie, from baking the perfect buttery, delicate biscuit to making a smooth, decadent chocolate filling. With her signature flair, Claire transforms this iconic treat into a homemade version that’s even more irresistible than the original. If you love reimagined classics and want to impress your guests with a holiday dessert that’s both nostalgic and elevated, this episode is a must-watch. Don’t miss Claire’s delicious twist on the Milano Cookie—perfect for celebrating the season! As we close out 2024, we’re incredibly thankful for everyone who’s supported this channel. Happy Holidays!\n\n#clairesaffitz #cookies #dessert \n\nChapters:\n00:00 Intro\n00:26 Milano cookies\n02:08 Taste test\n02:46 Measurements\n03:54 Reading the ingredients\n04:54 Game plan\n05:22 Harris' Milano Tip\n06:12 Make & bake cookies\n07:47 Making the batter\n09:47 Piping the cookies\n13:36 Making cookie improvements\n29:33 Make mint layer\n31:55 Temper chocolate\n33:29 Assembly\n35:06 Comparison \n36:24 Harris’ review\n36:56 Conclusion\n37:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Milano Cookies | Claire Recreates", 9, 2271, false, "L_Xu-Tt7fHA", "https://www.youtube.com/watch?v=L_Xu-Tt7fHA", "/downloads/shows/Claire Recreates/Season 2024/s2024e123100 - I Tried Making Homemade Milano Cookies | Claire Recreates.mkv", false, ~U[2024-12-31 15:00:27Z]] 12:46:59.662 [debug] QUERY OK source="sources" db=0.2ms idle=59.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:46:59.662 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:46:59.663 [debug] QUERY OK source="media_items" db=0.3ms 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 [29421] 12:46:59.663 [debug] Current batch of media processed. Will check again in 1000ms 12:47:00.282 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:00.391 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:47:00.664 [debug] Current batch of media processed. Will check again in 1000ms 12:47:01.665 [debug] Current batch of media processed. Will check again in 1000ms 12:47:02.666 [debug] Current batch of media processed. Will check again in 1000ms 12:47:03.667 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz dives into beloved childhood snacks and iconic treats, adding her own creative flair. In today’s episode, she focuses on the classic Little Debbie Oatmeal Creme Pies, transforming them with a homemade twist. Join Claire as she reimagines this nostalgic favorite, sharing mouthwatering recipes perfect for home baking enthusiasts. If you have a fondness for your favorite snacks and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless treat.\n\n#clairesaffitz #oatmeal #pie \n\nChapters:\n\n00:00 Intro\n01:10 Measurements\n01:29 Smell and taste test\n02:22 Ingredients\n03:42 Game plan\n03:49 Make cookie dough + bake\n13:21 Make adjustments to cookies\n22:11 Marshmallow cream\n25:29 Assemble\n26:19 Comparison\n27:55 Harris review\n28:32 Conclusion\n29:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nCOOKIES\n1¼ cups old-fashioned rolled oats, divided\n¼ cup raisins\n½ cup whole milk\n¼ cup water \n (¼ cup oats + raisins cooked in milk/water, remaining 1 cup oats processed w/ dry ingredients)\n1½ cups all-purpose flour\n2 teaspoons baking soda\n1 teaspoon kosher salt\n¾ teaspoon cinnamon\nPinch of ground cloves\n8 tablespoons (1 stick) unsalted butter, at room temperature\n¼ cup vegetable oil\n1 cup light brown sugar (packed)\n⅓ cup molasses\n1 large egg\n2 teaspoons pure vanilla extract\n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon King Arthur Pure Vanilla Extract", "duration" => 1755, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e083000 - I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates.mkv", "id" => "qX5AKIh2x_4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qX5AKIh2x_4", "playlist_index" => 9, "timestamp" => 1725026449, "title" => "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates", "upload_date" => "20240830"} 12:47:03.668 [debug] QUERY OK source="sources" db=0.5ms idle=1062.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:47:03.669 [debug] QUERY OK source="sources" db=0.3ms idle=372.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:03.669 [debug] QUERY OK source="media_items" db=0.3ms idle=372.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-30 14:00:49Z], 9] 12:47:03.672 [debug] QUERY OK source="media_items" db=1.5ms idle=373.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz dives into beloved childhood snacks and iconic treats, adding her own creative flair. In today’s episode, she focuses on the classic Little Debbie Oatmeal Creme Pies, transforming them with a homemade twist. Join Claire as she reimagines this nostalgic favorite, sharing mouthwatering recipes perfect for home baking enthusiasts. If you have a fondness for your favorite snacks and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless treat.\n\n#clairesaffitz #oatmeal #pie \n\nChapters:\n\n00:00 Intro\n01:10 Measurements\n01:29 Smell and taste test\n02:22 Ingredients\n03:42 Game plan\n03:49 Make cookie dough + bake\n13:21 Make adjustments to cookies\n22:11 Marshmallow cream\n25:29 Assemble\n26:19 Comparison\n27:55 Harris review\n28:32 Conclusion\n29:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nCOOKIES\n1¼ cups old-fashioned rolled oats, divided\n¼ cup raisins\n½ cup whole milk\n¼ cup water \n (¼ cup oats + raisins cooked in milk/water, remaining 1 cup oats processed w/ dry ingredients)\n1½ cups all-purpose flour\n2 teaspoons baking soda\n1 teaspoon kosher salt\n¾ teaspoon cinnamon\nPinch of ground cloves\n8 tablespoons (1 stick) unsalted butter, at room temperature\n¼ cup vegetable oil\n1 cup light brown sugar (packed)\n⅓ cup molasses\n1 large egg\n2 teaspoons pure vanilla extract\n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon King Arthur Pure Vanilla Extract", "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates", "740308db-b3e9-4176-ab17-2fdcecc3d113", 9, [], 1755, false, "qX5AKIh2x_4", "https://www.youtube.com/watch?v=qX5AKIh2x_4", 9, "/downloads/shows/Claire Recreates/Season 2024/s2024e083000 - I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-08-30 14:00:49Z], ~U[2026-04-16 10:47:03Z], ~U[2026-04-16 10:47:03Z], "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz dives into beloved childhood snacks and iconic treats, adding her own creative flair. In today’s episode, she focuses on the classic Little Debbie Oatmeal Creme Pies, transforming them with a homemade twist. Join Claire as she reimagines this nostalgic favorite, sharing mouthwatering recipes perfect for home baking enthusiasts. If you have a fondness for your favorite snacks and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless treat.\n\n#clairesaffitz #oatmeal #pie \n\nChapters:\n\n00:00 Intro\n01:10 Measurements\n01:29 Smell and taste test\n02:22 Ingredients\n03:42 Game plan\n03:49 Make cookie dough + bake\n13:21 Make adjustments to cookies\n22:11 Marshmallow cream\n25:29 Assemble\n26:19 Comparison\n27:55 Harris review\n28:32 Conclusion\n29:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nCOOKIES\n1¼ cups old-fashioned rolled oats, divided\n¼ cup raisins\n½ cup whole milk\n¼ cup water \n (¼ cup oats + raisins cooked in milk/water, remaining 1 cup oats processed w/ dry ingredients)\n1½ cups all-purpose flour\n2 teaspoons baking soda\n1 teaspoon kosher salt\n¾ teaspoon cinnamon\nPinch of ground cloves\n8 tablespoons (1 stick) unsalted butter, at room temperature\n¼ cup vegetable oil\n1 cup light brown sugar (packed)\n⅓ cup molasses\n1 large egg\n2 teaspoons pure vanilla extract\n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon King Arthur Pure Vanilla Extract", "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates", 9, 1755, false, "qX5AKIh2x_4", "https://www.youtube.com/watch?v=qX5AKIh2x_4", "/downloads/shows/Claire Recreates/Season 2024/s2024e083000 - I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates.mkv", false, ~U[2024-08-30 14:00:49Z]] 12:47:03.672 [debug] QUERY OK source="sources" db=0.2ms idle=66.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:03.672 [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] 12:47:03.673 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29422] 12:47:03.673 [debug] Current batch of media processed. Will check again in 1000ms 12:47:04.675 [debug] Current batch of media processed. Will check again in 1000ms 12:47:05.676 [debug] Current batch of media processed. Will check again in 1000ms 12:47:06.677 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on the challenge of recreating beloved childhood snacks and iconic treats—but this time, she’s in new territory. In today’s episode, Claire tackles the Kinder Bueno, attempting to craft the crispy, creamy chocolate bar from scratch—all from a rental kitchen. With limited tools and unfamiliar surroundings, she puts her skills to the test, proving that great recipes can come together anywhere. If you love nostalgic sweets and the thrill of recipe experimentation, this episode is a must-watch!\n\n#kinderbueno #clairesaffitz #chocolate \n\nChapters\n00:00 Intro\n00:26 How To Make Kinder Bueno\n02:46 Measurements\n02:59 Taste test\n04:53 Ingredients\n06:14 Molds\n11:07 How To Make Kinder Bueno Wafers\n18:10 100% polycarbonate\n20:04 Plan B?\n21:37 Lessons learned\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1385, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e032000 - I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates.mkv", "id" => "ipwx-AzyDNk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ipwx-AzyDNk", "playlist_index" => 10, "timestamp" => 1742479230, "title" => "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates", "upload_date" => "20250320"} 12:47:06.678 [debug] QUERY OK source="sources" db=0.2ms idle=1381.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:47:06.678 [debug] QUERY OK source="sources" db=0.1ms idle=1381.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:06.679 [debug] QUERY OK source="media_items" db=0.1ms idle=1382.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-20 14:00:30Z], 9] 12:47:06.681 [debug] QUERY OK source="media_items" db=1.2ms idle=1070.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on the challenge of recreating beloved childhood snacks and iconic treats—but this time, she’s in new territory. In today’s episode, Claire tackles the Kinder Bueno, attempting to craft the crispy, creamy chocolate bar from scratch—all from a rental kitchen. With limited tools and unfamiliar surroundings, she puts her skills to the test, proving that great recipes can come together anywhere. If you love nostalgic sweets and the thrill of recipe experimentation, this episode is a must-watch!\n\n#kinderbueno #clairesaffitz #chocolate \n\nChapters\n00:00 Intro\n00:26 How To Make Kinder Bueno\n02:46 Measurements\n02:59 Taste test\n04:53 Ingredients\n06:14 Molds\n11:07 How To Make Kinder Bueno Wafers\n18:10 100% polycarbonate\n20:04 Plan B?\n21:37 Lessons learned\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates", "030ccba9-a202-4719-a2a5-c422500706be", 9, [], 1385, false, "ipwx-AzyDNk", "https://www.youtube.com/watch?v=ipwx-AzyDNk", 10, "/downloads/shows/Claire Recreates/Season 2025/s2025e032000 - I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates.mkv", false, false, false, 1, ~U[2025-03-20 14:00:30Z], ~U[2026-04-16 10:47:06Z], ~U[2026-04-16 10:47:06Z], "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on the challenge of recreating beloved childhood snacks and iconic treats—but this time, she’s in new territory. In today’s episode, Claire tackles the Kinder Bueno, attempting to craft the crispy, creamy chocolate bar from scratch—all from a rental kitchen. With limited tools and unfamiliar surroundings, she puts her skills to the test, proving that great recipes can come together anywhere. If you love nostalgic sweets and the thrill of recipe experimentation, this episode is a must-watch!\n\n#kinderbueno #clairesaffitz #chocolate \n\nChapters\n00:00 Intro\n00:26 How To Make Kinder Bueno\n02:46 Measurements\n02:59 Taste test\n04:53 Ingredients\n06:14 Molds\n11:07 How To Make Kinder Bueno Wafers\n18:10 100% polycarbonate\n20:04 Plan B?\n21:37 Lessons learned\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates", 9, 1385, false, "ipwx-AzyDNk", "https://www.youtube.com/watch?v=ipwx-AzyDNk", "/downloads/shows/Claire Recreates/Season 2025/s2025e032000 - I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates.mkv", false, ~U[2025-03-20 14:00:30Z]] 12:47:06.681 [debug] QUERY OK source="sources" db=0.2ms idle=71.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:06.681 [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] 12:47:06.682 [debug] QUERY OK source="media_items" db=0.3ms 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 [29423] 12:47:06.682 [debug] Current batch of media processed. Will check again in 1000ms 12:47:07.683 [debug] Current batch of media processed. Will check again in 1000ms 12:47:08.684 [debug] Current batch of media processed. Will check again in 1000ms 12:47:09.685 [debug] Current batch of media processed. Will check again in 1000ms 12:47:10.686 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Australian Tim Tams | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on one of the most iconic Australian snacks of all time — Tim Tams. Known for their rich chocolate coating, creamy filling, and signature crunchy biscuit texture, Tim Tams are a beloved treat across Australia and beyond. Claire attempts to recreate Tim Tams from scratch, using her precise baking techniques and deep understanding of pastry science to reverse-engineer this layered chocolate biscuit sandwich at home.\n\nWatch as Claire tests different chocolate biscuit recipes, explores the mechanics of the perfect Tim Tam Slam, and tackles the challenge of replicating a store-bought snack with homemade methods. This episode blends Claire’s signature charm with technical baking as she breaks down how to make homemade Tim Tams, one of the most recognizable Australian treats.\n\nIf you’re a fan of nostalgic snack recipes, iconic cookie recreations, or just love watching detailed step-by-step baking challenges, this episode is for you.\n\n#ClaireSaffitz #ClaireRecreates #TimTams #ChocolateBiscuits #BakingChallenge #dessertperson \n\nChapters\n\n00:00 Intro\n00:18 Tim Tams\n01:53 Taste test\n03:56 Measurements\n04:59 Reading the Ingredients\n06:25 Game plan\n06:42 Make cookies / biscuits\n14:14 Use pasta roller\n17:31 Make filling\n19:13 Assemble\n22:02 Enrobe\n23:13 Comparison\n25:38 Cat cam\n\nChocolate biscuit\n1½ cups all-purpose flour\n½ cup unsweetened cocoa powder\n2 tablespoon malted milk powder \n¾ teaspoon kosher salt\n½ teaspoon baking powder \n1 stick unsalted butter, at cool room temperature \n¾ cup sugar\n1 large egg\n2 teaspoons pure vanilla extract\n\nChocolate cream filling: \n150g milk chocolate, chopped\n150g heavy cream\nSalt\n\nChocolate coating \nDark chocolate\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1555, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e050100 - I Tried Making Homemade Australian Tim Tams | Claire Recreates.mkv", "id" => "X5-yAJszoB0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=X5-yAJszoB0", "playlist_index" => 11, "timestamp" => 1746108048, "title" => "I Tried Making Homemade Australian Tim Tams | Claire Recreates", "upload_date" => "20250501"} 12:47:10.687 [debug] QUERY OK source="sources" db=0.5ms idle=390.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:47:10.688 [debug] QUERY OK source="sources" db=0.7ms idle=391.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:10.689 [debug] QUERY OK source="media_items" db=0.5ms idle=392.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-01 14:00:48Z], 9] 12:47:10.692 [debug] QUERY OK source="media_items" db=2.2ms idle=393.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Australian Tim Tams | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on one of the most iconic Australian snacks of all time — Tim Tams. Known for their rich chocolate coating, creamy filling, and signature crunchy biscuit texture, Tim Tams are a beloved treat across Australia and beyond. Claire attempts to recreate Tim Tams from scratch, using her precise baking techniques and deep understanding of pastry science to reverse-engineer this layered chocolate biscuit sandwich at home.\n\nWatch as Claire tests different chocolate biscuit recipes, explores the mechanics of the perfect Tim Tam Slam, and tackles the challenge of replicating a store-bought snack with homemade methods. This episode blends Claire’s signature charm with technical baking as she breaks down how to make homemade Tim Tams, one of the most recognizable Australian treats.\n\nIf you’re a fan of nostalgic snack recipes, iconic cookie recreations, or just love watching detailed step-by-step baking challenges, this episode is for you.\n\n#ClaireSaffitz #ClaireRecreates #TimTams #ChocolateBiscuits #BakingChallenge #dessertperson \n\nChapters\n\n00:00 Intro\n00:18 Tim Tams\n01:53 Taste test\n03:56 Measurements\n04:59 Reading the Ingredients\n06:25 Game plan\n06:42 Make cookies / biscuits\n14:14 Use pasta roller\n17:31 Make filling\n19:13 Assemble\n22:02 Enrobe\n23:13 Comparison\n25:38 Cat cam\n\nChocolate biscuit\n1½ cups all-purpose flour\n½ cup unsweetened cocoa powder\n2 tablespoon malted milk powder \n¾ teaspoon kosher salt\n½ teaspoon baking powder \n1 stick unsalted butter, at cool room temperature \n¾ cup sugar\n1 large egg\n2 teaspoons pure vanilla extract\n\nChocolate cream filling: \n150g milk chocolate, chopped\n150g heavy cream\nSalt\n\nChocolate coating \nDark chocolate\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Australian Tim Tams | Claire Recreates", "5f182947-26e7-45f0-9c02-d65355e95b7f", 9, [], 1555, false, "X5-yAJszoB0", "https://www.youtube.com/watch?v=X5-yAJszoB0", 11, "/downloads/shows/Claire Recreates/Season 2025/s2025e050100 - I Tried Making Homemade Australian Tim Tams | Claire Recreates.mkv", false, false, false, 1, ~U[2025-05-01 14:00:48Z], ~U[2026-04-16 10:47:10Z], ~U[2026-04-16 10:47:10Z], "I Tried Making Homemade Australian Tim Tams | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on one of the most iconic Australian snacks of all time — Tim Tams. Known for their rich chocolate coating, creamy filling, and signature crunchy biscuit texture, Tim Tams are a beloved treat across Australia and beyond. Claire attempts to recreate Tim Tams from scratch, using her precise baking techniques and deep understanding of pastry science to reverse-engineer this layered chocolate biscuit sandwich at home.\n\nWatch as Claire tests different chocolate biscuit recipes, explores the mechanics of the perfect Tim Tam Slam, and tackles the challenge of replicating a store-bought snack with homemade methods. This episode blends Claire’s signature charm with technical baking as she breaks down how to make homemade Tim Tams, one of the most recognizable Australian treats.\n\nIf you’re a fan of nostalgic snack recipes, iconic cookie recreations, or just love watching detailed step-by-step baking challenges, this episode is for you.\n\n#ClaireSaffitz #ClaireRecreates #TimTams #ChocolateBiscuits #BakingChallenge #dessertperson \n\nChapters\n\n00:00 Intro\n00:18 Tim Tams\n01:53 Taste test\n03:56 Measurements\n04:59 Reading the Ingredients\n06:25 Game plan\n06:42 Make cookies / biscuits\n14:14 Use pasta roller\n17:31 Make filling\n19:13 Assemble\n22:02 Enrobe\n23:13 Comparison\n25:38 Cat cam\n\nChocolate biscuit\n1½ cups all-purpose flour\n½ cup unsweetened cocoa powder\n2 tablespoon malted milk powder \n¾ teaspoon kosher salt\n½ teaspoon baking powder \n1 stick unsalted butter, at cool room temperature \n¾ cup sugar\n1 large egg\n2 teaspoons pure vanilla extract\n\nChocolate cream filling: \n150g milk chocolate, chopped\n150g heavy cream\nSalt\n\nChocolate coating \nDark chocolate\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Australian Tim Tams | Claire Recreates", 9, 1555, false, "X5-yAJszoB0", "https://www.youtube.com/watch?v=X5-yAJszoB0", "/downloads/shows/Claire Recreates/Season 2025/s2025e050100 - I Tried Making Homemade Australian Tim Tams | Claire Recreates.mkv", false, ~U[2025-05-01 14:00:48Z]] 12:47:10.693 [debug] QUERY OK source="sources" db=0.3ms idle=78.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:10.694 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:47:10.694 [debug] QUERY OK source="media_items" db=0.5ms 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 [29434] 12:47:10.695 [debug] Current batch of media processed. Will check again in 1000ms 12:47:11.695 [debug] Current batch of media processed. Will check again in 1000ms 12:47:12.696 [debug] Current batch of media processed. Will check again in 1000ms 12:47:13.697 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Tokyo Bananas | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on Japan’s most beloved souvenir treat ... the Tokyo Banana. These soft sponge cakes filled with sweet banana custard are a staple of Japanese train stations, gift shops, and childhood memories. Claire breaks it down step-by-step, making everything from scratch, from the light-as-air sponge cake to the rich banana cream filling.\n\nWhether you’re a Tokyo Banana superfan or discovering this iconic snack for the first time, follow along as Claire gives this classic the Dessert Person™ treatment.\n\n#TokyoBanana #ClaireSaffitz #ClaireRecreates #JapaneseSnacks #BananaCustard #SpongeCakeRecipe #JapaneseBaking #DessertPerson \n\nTOKYO BANANA (Recreates)\n\nSPONGE CAKE\n4 egg yolks, at room temperature\n20g sugar\n40 ml milk \n40g oil\n½ teaspoon vanilla extract\n30g all-purpose flour\n30g cornstarch\n4 egg whites, at room temperature\nPinch of salt \n¼ teaspoon cream of tartar \n60g sugar \n\nBANANA CREAM\n⅓ cup sugar \n3 tablespoons cornstarch\n½ teaspoon Diamond Crystal kosher salt \n4 large egg yolks\n1⅔ cups heavy cream, chilled\n1 cup mashed overripe banana (8.5 oz / 240g), from about 2 medium\n\nChapters\n00:00 Intro\n00:19 Tokyo Banana\n01:05 Smell test\n02:08 Taste test\n02:29 Measurements\n03:56 Reading the ingredients\n05:12 How to make Tokyo Banana\n05:35 Make banana custard + cool\n10:47 How to make chiffon sponge\n17:31 Construction apparatus\n21:57 Assembly + chill\n24:12 Comparison\n26:56 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1634, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e061800 - I Tried Making Homemade Tokyo Bananas | Claire Recreates.mkv", "id" => "RWE_WnFfvcI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RWE_WnFfvcI", "playlist_index" => 12, "timestamp" => 1750255244, "title" => "I Tried Making Homemade Tokyo Bananas | Claire Recreates", "upload_date" => "20250618"} 12:47:13.698 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [9] 12:47:13.698 [debug] QUERY OK source="sources" db=0.1ms idle=1402.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:13.699 [debug] QUERY OK source="media_items" db=0.2ms idle=1402.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-18 14:00:44Z], 9] 12:47:13.701 [debug] QUERY OK source="media_items" db=1.4ms idle=1082.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Tokyo Bananas | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on Japan’s most beloved souvenir treat ... the Tokyo Banana. These soft sponge cakes filled with sweet banana custard are a staple of Japanese train stations, gift shops, and childhood memories. Claire breaks it down step-by-step, making everything from scratch, from the light-as-air sponge cake to the rich banana cream filling.\n\nWhether you’re a Tokyo Banana superfan or discovering this iconic snack for the first time, follow along as Claire gives this classic the Dessert Person™ treatment.\n\n#TokyoBanana #ClaireSaffitz #ClaireRecreates #JapaneseSnacks #BananaCustard #SpongeCakeRecipe #JapaneseBaking #DessertPerson \n\nTOKYO BANANA (Recreates)\n\nSPONGE CAKE\n4 egg yolks, at room temperature\n20g sugar\n40 ml milk \n40g oil\n½ teaspoon vanilla extract\n30g all-purpose flour\n30g cornstarch\n4 egg whites, at room temperature\nPinch of salt \n¼ teaspoon cream of tartar \n60g sugar \n\nBANANA CREAM\n⅓ cup sugar \n3 tablespoons cornstarch\n½ teaspoon Diamond Crystal kosher salt \n4 large egg yolks\n1⅔ cups heavy cream, chilled\n1 cup mashed overripe banana (8.5 oz / 240g), from about 2 medium\n\nChapters\n00:00 Intro\n00:19 Tokyo Banana\n01:05 Smell test\n02:08 Taste test\n02:29 Measurements\n03:56 Reading the ingredients\n05:12 How to make Tokyo Banana\n05:35 Make banana custard + cool\n10:47 How to make chiffon sponge\n17:31 Construction apparatus\n21:57 Assembly + chill\n24:12 Comparison\n26:56 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Tokyo Bananas | Claire Recreates", "c32755cf-d77f-4f3e-b4e1-0de0b40137a5", 9, [], 1634, false, "RWE_WnFfvcI", "https://www.youtube.com/watch?v=RWE_WnFfvcI", 12, "/downloads/shows/Claire Recreates/Season 2025/s2025e061800 - I Tried Making Homemade Tokyo Bananas | Claire Recreates.mkv", false, false, false, 1, ~U[2025-06-18 14:00:44Z], ~U[2026-04-16 10:47:13Z], ~U[2026-04-16 10:47:13Z], "I Tried Making Homemade Tokyo Bananas | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on Japan’s most beloved souvenir treat ... the Tokyo Banana. These soft sponge cakes filled with sweet banana custard are a staple of Japanese train stations, gift shops, and childhood memories. Claire breaks it down step-by-step, making everything from scratch, from the light-as-air sponge cake to the rich banana cream filling.\n\nWhether you’re a Tokyo Banana superfan or discovering this iconic snack for the first time, follow along as Claire gives this classic the Dessert Person™ treatment.\n\n#TokyoBanana #ClaireSaffitz #ClaireRecreates #JapaneseSnacks #BananaCustard #SpongeCakeRecipe #JapaneseBaking #DessertPerson \n\nTOKYO BANANA (Recreates)\n\nSPONGE CAKE\n4 egg yolks, at room temperature\n20g sugar\n40 ml milk \n40g oil\n½ teaspoon vanilla extract\n30g all-purpose flour\n30g cornstarch\n4 egg whites, at room temperature\nPinch of salt \n¼ teaspoon cream of tartar \n60g sugar \n\nBANANA CREAM\n⅓ cup sugar \n3 tablespoons cornstarch\n½ teaspoon Diamond Crystal kosher salt \n4 large egg yolks\n1⅔ cups heavy cream, chilled\n1 cup mashed overripe banana (8.5 oz / 240g), from about 2 medium\n\nChapters\n00:00 Intro\n00:19 Tokyo Banana\n01:05 Smell test\n02:08 Taste test\n02:29 Measurements\n03:56 Reading the ingredients\n05:12 How to make Tokyo Banana\n05:35 Make banana custard + cool\n10:47 How to make chiffon sponge\n17:31 Construction apparatus\n21:57 Assembly + chill\n24:12 Comparison\n26:56 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Tokyo Bananas | Claire Recreates", 9, 1634, false, "RWE_WnFfvcI", "https://www.youtube.com/watch?v=RWE_WnFfvcI", "/downloads/shows/Claire Recreates/Season 2025/s2025e061800 - I Tried Making Homemade Tokyo Bananas | Claire Recreates.mkv", false, ~U[2025-06-18 14:00:44Z]] 12:47:13.701 [debug] QUERY OK source="sources" db=0.1ms idle=83.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:13.702 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:47:13.702 [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 [43875] 12:47:13.703 [debug] Current batch of media processed. Will check again in 1000ms 12:47:14.703 [debug] Current batch of media processed. Will check again in 1000ms 12:47:15.704 [debug] Current batch of media processed. Will check again in 1000ms 12:47:16.705 [debug] Current batch of media processed. Will check again in 1000ms 12:47:17.706 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates\nJoin Claire Saffitz in this episode of Claire Recreates as she takes on the beloved Mexican snack cake, Gansitos. From fluffy sponge cake to rich strawberry jam, creamy filling, and a decadent chocolate coating, Claire shows you how to recreate this nostalgic treat from scratch. Whether you grew up with Gansitos or are discovering them for the first time, this recipe is a delicious trip down memory lane.\nFilmed with baking techniques and inspired by the original Marinela Gansito, Claire walks through every step, sharing tips, baking science, and fun behind-the-scenes moments. Perfect for fans of Mexican desserts, snack cake lovers, and anyone curious about making iconic treats at home.\n\n#gansitos #cake #clairesaffitz #snackcake #chocolatedessert #strawberry \n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin → softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla extract\n\nSTRAWBERRY JELLY\n\nSPONGE CAKE\n4 large eggs, whites and yolks separated, at room temperature\n½ cup (100g) granulated sugar, divided\n4 tablespoons whole milk (60ml)\n½ teaspoon kosher salt\n¼ teaspoon cream of tartar\n¼ cup neutral oil\n⅔ cup (85g) all-purpose flour\n1 teaspoon vanilla extract\n\nChapters:\n00:00 Intro\n00:29 Gansitos\n00:58 First impressions\n01:19 Smell test\n01:29 Taste test\n01:57 Measurements\n03:17 Reading the Ingredients\n06:26 Game plan\n06:42 Make sprinkles\n09:50 Strawberry jelly\n10:57 Trip to apple orchard\n11:44 Strawberry jelly continued\n12:38 Bake sponge\n21:55 Creme filling\n25:40 Chocolate poured fondant + assembly\n29:37 Comparison\n31:42 Cat cam\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1919, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e081400 - I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates.mkv", "id" => "k9rGZzQswI0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=k9rGZzQswI0", "playlist_index" => 13, "timestamp" => 1755180068, "title" => "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates", "upload_date" => "20250814"} 12:47:17.707 [debug] QUERY OK source="sources" db=0.2ms idle=410.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:47:17.707 [debug] QUERY OK source="sources" db=0.1ms idle=411.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:17.708 [debug] QUERY OK source="media_items" db=0.2ms idle=411.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 14:01:08Z], 9] 12:47:17.711 [debug] QUERY OK source="media_items" db=2.0ms idle=412.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates\nJoin Claire Saffitz in this episode of Claire Recreates as she takes on the beloved Mexican snack cake, Gansitos. From fluffy sponge cake to rich strawberry jam, creamy filling, and a decadent chocolate coating, Claire shows you how to recreate this nostalgic treat from scratch. Whether you grew up with Gansitos or are discovering them for the first time, this recipe is a delicious trip down memory lane.\nFilmed with baking techniques and inspired by the original Marinela Gansito, Claire walks through every step, sharing tips, baking science, and fun behind-the-scenes moments. Perfect for fans of Mexican desserts, snack cake lovers, and anyone curious about making iconic treats at home.\n\n#gansitos #cake #clairesaffitz #snackcake #chocolatedessert #strawberry \n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin → softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla extract\n\nSTRAWBERRY JELLY\n\nSPONGE CAKE\n4 large eggs, whites and yolks separated, at room temperature\n½ cup (100g) granulated sugar, divided\n4 tablespoons whole milk (60ml)\n½ teaspoon kosher salt\n¼ teaspoon cream of tartar\n¼ cup neutral oil\n⅔ cup (85g) all-purpose flour\n1 teaspoon vanilla extract\n\nChapters:\n00:00 Intro\n00:29 Gansitos\n00:58 First impressions\n01:19 Smell test\n01:29 Taste test\n01:57 Measurements\n03:17 Reading the Ingredients\n06:26 Game plan\n06:42 Make sprinkles\n09:50 Strawberry jelly\n10:57 Trip to apple orchard\n11:44 Strawberry jelly continued\n12:38 Bake sponge\n21:55 Creme filling\n25:40 Chocolate poured fondant + assembly\n29:37 Comparison\n31:42 Cat cam\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates", "910cc975-cebc-42d2-a001-04a7eea03bbe", 9, [], 1919, false, "k9rGZzQswI0", "https://www.youtube.com/watch?v=k9rGZzQswI0", 13, "/downloads/shows/Claire Recreates/Season 2025/s2025e081400 - I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates.mkv", false, false, false, 1, ~U[2025-08-14 14:01:08Z], ~U[2026-04-16 10:47:17Z], ~U[2026-04-16 10:47:17Z], "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates\nJoin Claire Saffitz in this episode of Claire Recreates as she takes on the beloved Mexican snack cake, Gansitos. From fluffy sponge cake to rich strawberry jam, creamy filling, and a decadent chocolate coating, Claire shows you how to recreate this nostalgic treat from scratch. Whether you grew up with Gansitos or are discovering them for the first time, this recipe is a delicious trip down memory lane.\nFilmed with baking techniques and inspired by the original Marinela Gansito, Claire walks through every step, sharing tips, baking science, and fun behind-the-scenes moments. Perfect for fans of Mexican desserts, snack cake lovers, and anyone curious about making iconic treats at home.\n\n#gansitos #cake #clairesaffitz #snackcake #chocolatedessert #strawberry \n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin → softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla extract\n\nSTRAWBERRY JELLY\n\nSPONGE CAKE\n4 large eggs, whites and yolks separated, at room temperature\n½ cup (100g) granulated sugar, divided\n4 tablespoons whole milk (60ml)\n½ teaspoon kosher salt\n¼ teaspoon cream of tartar\n¼ cup neutral oil\n⅔ cup (85g) all-purpose flour\n1 teaspoon vanilla extract\n\nChapters:\n00:00 Intro\n00:29 Gansitos\n00:58 First impressions\n01:19 Smell test\n01:29 Taste test\n01:57 Measurements\n03:17 Reading the Ingredients\n06:26 Game plan\n06:42 Make sprinkles\n09:50 Strawberry jelly\n10:57 Trip to apple orchard\n11:44 Strawberry jelly continued\n12:38 Bake sponge\n21:55 Creme filling\n25:40 Chocolate poured fondant + assembly\n29:37 Comparison\n31:42 Cat cam\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates", 9, 1919, false, "k9rGZzQswI0", "https://www.youtube.com/watch?v=k9rGZzQswI0", "/downloads/shows/Claire Recreates/Season 2025/s2025e081400 - I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates.mkv", false, ~U[2025-08-14 14:01:08Z]] 12:47:17.711 [debug] QUERY OK source="sources" db=0.1ms idle=88.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:17.711 [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] 12:47:17.712 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [62328] 12:47:17.712 [debug] Current batch of media processed. Will check again in 1000ms 12:47:18.713 [debug] Current batch of media processed. Will check again in 1000ms 12:47:19.716 [debug] Current batch of media processed. Will check again in 1000ms 12:47:20.717 [debug] Current batch of media processed. Will check again in 1000ms 12:47:21.718 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates\nCan Claire Saffitz recreate the iconic Nutter Butter cookie at home? In this episode of Claire Recreates, Claire takes on the challenge of making homemade Nutter Butters completely from scratch. She bakes crunchy peanut shaped cookies and fills them with creamy peanut butter frosting.\n\nFrom mixing the dough to shaping the classic peanut design and testing the filling, Claire shows every step of the process as she compares homemade vs store bought Nutter Butters. Does the DIY version hold up against the nostalgic packaged cookie? Watch to find out.\n\nIf you have ever wondered how to make Nutter Butter cookies at home or wanted to see how they compare to the original, this video has the recipes, techniques, and taste test you are looking for.\n\n#ClaireSaffitz #ClaireRecreates #NutterButter #HomemadeCookies #baking \n\nIngredients:\nDOUGH\n2½ cups all-purpose flour \n½ teaspoon whole wheat flour \n¼ teaspoon baking soda\n1½ teaspoons Diamond Crystal kosher salt\n2 sticks unsalted butter, at room temperature\n1 cup granulated sugar\n1 cup natural smooth peanut butter\n2 large eggs (3.5 oz / 100g)\n1 teaspoon vanilla extract\nFILLING\n1 cup smooth natural peanut butter \n½ tsp. vanilla extract \nKosher salt\n¼ cup sugar\n3 tablespoons corn syrup\n1 tablespoon honey \n2 tablespoons butter \n\nChapters\n00:00 Intro\n00:16 How To Make Nutter Butter Cookies\n00:40 First impressions\n01:53 Ingredients\n02:54 Measurements\n04:01 Wood carving kit\n05:08 Game plan\n05:20 Cookie stamp\n10:02 Make Nutter Butter Cookies\n19:15 Bake\n20:57 Filling\n23:09 Assembly\n23:38 Comparison\n25:23 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1540, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e092600 - I Tried Making Homemade Nutter Butter Cookies | Claire Recreates.mkv", "id" => "ck6D0SdiYA0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ck6D0SdiYA0", "playlist_index" => 14, "timestamp" => 1758895274, "title" => "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates", "upload_date" => "20250926"} 12:47:21.719 [debug] QUERY OK source="sources" db=0.2ms idle=422.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:47:21.719 [debug] QUERY OK source="sources" db=0.1ms idle=423.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:21.720 [debug] QUERY OK source="media_items" db=0.2ms idle=423.3ms SELECT max(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:14Z], 9] 12:47:21.722 [debug] QUERY OK source="media_items" db=1.4ms idle=424.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Nutter Butter Cookies | Claire Recreates\nCan Claire Saffitz recreate the iconic Nutter Butter cookie at home? In this episode of Claire Recreates, Claire takes on the challenge of making homemade Nutter Butters completely from scratch. She bakes crunchy peanut shaped cookies and fills them with creamy peanut butter frosting.\n\nFrom mixing the dough to shaping the classic peanut design and testing the filling, Claire shows every step of the process as she compares homemade vs store bought Nutter Butters. Does the DIY version hold up against the nostalgic packaged cookie? Watch to find out.\n\nIf you have ever wondered how to make Nutter Butter cookies at home or wanted to see how they compare to the original, this video has the recipes, techniques, and taste test you are looking for.\n\n#ClaireSaffitz #ClaireRecreates #NutterButter #HomemadeCookies #baking \n\nIngredients:\nDOUGH\n2½ cups all-purpose flour \n½ teaspoon whole wheat flour \n¼ teaspoon baking soda\n1½ teaspoons Diamond Crystal kosher salt\n2 sticks unsalted butter, at room temperature\n1 cup granulated sugar\n1 cup natural smooth peanut butter\n2 large eggs (3.5 oz / 100g)\n1 teaspoon vanilla extract\nFILLING\n1 cup smooth natural peanut butter \n½ tsp. vanilla extract \nKosher salt\n¼ cup sugar\n3 tablespoons corn syrup\n1 tablespoon honey \n2 tablespoons butter \n\nChapters\n00:00 Intro\n00:16 How To Make Nutter Butter Cookies\n00:40 First impressions\n01:53 Ingredients\n02:54 Measurements\n04:01 Wood carving kit\n05:08 Game plan\n05:20 Cookie stamp\n10:02 Make Nutter Butter Cookies\n19:15 Bake\n20:57 Filling\n23:09 Assembly\n23:38 Comparison\n25:23 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates", "7e0a2541-1650-43bb-9903-f534e9e58a68", 9, [], 1540, false, "ck6D0SdiYA0", "https://www.youtube.com/watch?v=ck6D0SdiYA0", 14, "/downloads/shows/Claire Recreates/Season 2025/s2025e092600 - I Tried Making Homemade Nutter Butter Cookies | Claire Recreates.mkv", false, false, false, 1, ~U[2025-09-26 14:01:14Z], ~U[2026-04-16 10:47:21Z], ~U[2026-04-16 10:47:21Z], "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates\nCan Claire Saffitz recreate the iconic Nutter Butter cookie at home? In this episode of Claire Recreates, Claire takes on the challenge of making homemade Nutter Butters completely from scratch. She bakes crunchy peanut shaped cookies and fills them with creamy peanut butter frosting.\n\nFrom mixing the dough to shaping the classic peanut design and testing the filling, Claire shows every step of the process as she compares homemade vs store bought Nutter Butters. Does the DIY version hold up against the nostalgic packaged cookie? Watch to find out.\n\nIf you have ever wondered how to make Nutter Butter cookies at home or wanted to see how they compare to the original, this video has the recipes, techniques, and taste test you are looking for.\n\n#ClaireSaffitz #ClaireRecreates #NutterButter #HomemadeCookies #baking \n\nIngredients:\nDOUGH\n2½ cups all-purpose flour \n½ teaspoon whole wheat flour \n¼ teaspoon baking soda\n1½ teaspoons Diamond Crystal kosher salt\n2 sticks unsalted butter, at room temperature\n1 cup granulated sugar\n1 cup natural smooth peanut butter\n2 large eggs (3.5 oz / 100g)\n1 teaspoon vanilla extract\nFILLING\n1 cup smooth natural peanut butter \n½ tsp. vanilla extract \nKosher salt\n¼ cup sugar\n3 tablespoons corn syrup\n1 tablespoon honey \n2 tablespoons butter \n\nChapters\n00:00 Intro\n00:16 How To Make Nutter Butter Cookies\n00:40 First impressions\n01:53 Ingredients\n02:54 Measurements\n04:01 Wood carving kit\n05:08 Game plan\n05:20 Cookie stamp\n10:02 Make Nutter Butter Cookies\n19:15 Bake\n20:57 Filling\n23:09 Assembly\n23:38 Comparison\n25:23 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates", 9, 1540, false, "ck6D0SdiYA0", "https://www.youtube.com/watch?v=ck6D0SdiYA0", "/downloads/shows/Claire Recreates/Season 2025/s2025e092600 - I Tried Making Homemade Nutter Butter Cookies | Claire Recreates.mkv", false, ~U[2025-09-26 14:01:14Z]] 12:47:21.723 [debug] QUERY OK source="sources" db=0.2ms idle=94.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:21.723 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:47:21.724 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76761] 12:47:21.724 [debug] Current batch of media processed. Will check again in 1000ms 12:47:22.724 [debug] Current batch of media processed. Will check again in 1000ms 12:47:23.725 [debug] Current batch of media processed. Will check again in 1000ms 12:47:24.726 [debug] Current batch of media processed. Will check again in 1000ms 12:47:25.727 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Many thanks to our sponsor for today’s episode, Cometeer. If you’re interested in trying curated coffees from top roasters like Onyx, Proud Mary, and Intelligentsia, you can save $20 on your Discovery Box order by using the link http://cometeer.com/clairesaffitz . It’s the perfect way to start your morning or to give as a thoughtful gift this holiday season.\n\nI Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates \nIn this episode of Claire Recreates, Claire takes on the new-ish Hostess Iced Pumpkin Cupcake and makes it completely from scratch at home. Every fall, this limited-edition treat shows up in grocery stores and reminds us that pumpkin season has officially started. Claire dives into what makes it so nostalgic - the spiced pumpkin cake, the creamy filling, and that signature orange icing swirl -then recreates each element in her own kitchen.\n\nYou’ll see how she builds the cupcake step by step, from baking the soft pumpkin base to mixing the fluffy cream center and topping it with a smooth icing. She also shares a few tricks for getting the flavor and texture as close as possible to the original. Whether you’ve been waiting all year for pumpkin desserts or just love seeing classic snacks get a homemade twist, this one will make you want to preheat your oven.\n\nWatch until the end to see if Claire can match the look and taste of the real Hostess version, and find out how her homemade cupcakes compare. \n\nSubscribe for more recreations of nostalgic snacks and fall baking recipes, and let us know what Claire should tackle next.\n\n#ClaireRecreates #FallBaking #PumpkinDessert\n\nChapters\n00:00 Intro\n00:27 First impressions\n01:23 Smell test\n01:43 Taste test\n02:16 Measurements\n03:09 Reading the ingredients\n05:07 How To Make Iced Pumpkin Cupcakes\n06:43 How To Bake Cupcakes\n15:01 Coffee break\n16:40 Troubleshooting cupcakes\n19:44 How To Make Icing For Cupcakes\n27:40 Icing + decorating\n29:39 Comparison\n32:41 Cat cam\n\n\nIngredients\n\nCake\n1 cup mashed cooked sugar pumpkin (8.2 oz / 232g)\n⅓ cup milk\n1 teaspoon vanilla extract\n1½ cups all-purpose flour (7 oz / 200g)\n1½ teaspoons baking powder (0.21 oz / 6g)\n½ teaspoon ground cinnamon\n½ teaspoon Chinese five spice powder\n½ teaspoon ground turmeric\n¾ teaspoon Diamond Crystal kosher salt\n2 large eggs (3.5 oz / 100g), at room temperature\n¾ cup sugar (6.2 oz / 175g)\n¼ cup brown sugar\n½ cup neutral oil (3.9 oz / 110g)\n\nMarshmallow Filling\n38g water\n75g granulated sugar\n117g light corn syrup\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla paste\n\nIcing\nConfectioners’ sugar\nSour cream\nCorn syrup\nSalt\nVanilla\n\nSquiggles\nConfectioners’ sugar\nTurmeric\nBeet powder\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1979, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e102300 - I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates.mkv", "id" => "-veNfe5ZUF0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-veNfe5ZUF0", "playlist_index" => 15, "timestamp" => 1761228001, "title" => "I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates", "upload_date" => "20251023"} 12:47:25.728 [debug] QUERY OK source="sources" db=0.2ms idle=431.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:47:25.728 [debug] QUERY OK source="sources" db=0.1ms idle=432.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:25.729 [debug] QUERY OK source="media_items" db=0.2ms idle=432.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 14:00:01Z], 9] 12:47:25.732 [debug] QUERY OK source="media_items" db=2.4ms idle=433.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Many thanks to our sponsor for today’s episode, Cometeer. If you’re interested in trying curated coffees from top roasters like Onyx, Proud Mary, and Intelligentsia, you can save $20 on your Discovery Box order by using the link http://cometeer.com/clairesaffitz . It’s the perfect way to start your morning or to give as a thoughtful gift this holiday season.\n\nI Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates \nIn this episode of Claire Recreates, Claire takes on the new-ish Hostess Iced Pumpkin Cupcake and makes it completely from scratch at home. Every fall, this limited-edition treat shows up in grocery stores and reminds us that pumpkin season has officially started. Claire dives into what makes it so nostalgic - the spiced pumpkin cake, the creamy filling, and that signature orange icing swirl -then recreates each element in her own kitchen.\n\nYou’ll see how she builds the cupcake step by step, from baking the soft pumpkin base to mixing the fluffy cream center and topping it with a smooth icing. She also shares a few tricks for getting the flavor and texture as close as possible to the original. Whether you’ve been waiting all year for pumpkin desserts or just love seeing classic snacks get a homemade twist, this one will make you want to preheat your oven.\n\nWatch until the end to see if Claire can match the look and taste of the real Hostess version, and find out how her homemade cupcakes compare. \n\nSubscribe for more recreations of nostalgic snacks and fall baking recipes, and let us know what Claire should tackle next.\n\n#ClaireRecreates #FallBaking #PumpkinDessert\n\nChapters\n00:00 Intro\n00:27 First impressions\n01:23 Smell test\n01:43 Taste test\n02:16 Measurements\n03:09 Reading the ingredients\n05:07 How To Make Iced Pumpkin Cupcakes\n06:43 How To Bake Cupcakes\n15:01 Coffee break\n16:40 Troubleshooting cupcakes\n19:44 How To Make Icing For Cupcakes\n27:40 Icing + decorating\n29:39 Comparison\n32:41 Cat cam\n\n\nIngredients\n\nCake\n1 cup mashed cooked sugar pumpkin (8.2 oz / 232g)\n⅓ cup milk\n1 teaspoon vanilla extract\n1½ cups all-purpose flour (7 oz / 200g)\n1½ teaspoons baking powder (0.21 oz / 6g)\n½ teaspoon ground cinnamon\n½ teaspoon Chinese five spice powder\n½ teaspoon ground turmeric\n¾ teaspoon Diamond Crystal kosher salt\n2 large eggs (3.5 oz / 100g), at room temperature\n¾ cup sugar (6.2 oz / 175g)\n¼ cup brown sugar\n½ cup neutral oil (3.9 oz / 110g)\n\nMarshmallow Filling\n38g water\n75g granulated sugar\n117g light corn syrup\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla paste\n\nIcing\nConfectioners’ sugar\nSour cream\nCorn syrup\nSalt\nVanilla\n\nSquiggles\nConfectioners’ sugar\nTurmeric\nBeet powder\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates", "598555c0-258d-450e-8401-684f87e7ea14", 9, [], 1979, false, "-veNfe5ZUF0", "https://www.youtube.com/watch?v=-veNfe5ZUF0", 15, "/downloads/shows/Claire Recreates/Season 2025/s2025e102300 - I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates.mkv", false, false, false, 1, ~U[2025-10-23 14:00:01Z], ~U[2026-04-16 10:47:25Z], ~U[2026-04-16 10:47:25Z], "Many thanks to our sponsor for today’s episode, Cometeer. If you’re interested in trying curated coffees from top roasters like Onyx, Proud Mary, and Intelligentsia, you can save $20 on your Discovery Box order by using the link http://cometeer.com/clairesaffitz . It’s the perfect way to start your morning or to give as a thoughtful gift this holiday season.\n\nI Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates \nIn this episode of Claire Recreates, Claire takes on the new-ish Hostess Iced Pumpkin Cupcake and makes it completely from scratch at home. Every fall, this limited-edition treat shows up in grocery stores and reminds us that pumpkin season has officially started. Claire dives into what makes it so nostalgic - the spiced pumpkin cake, the creamy filling, and that signature orange icing swirl -then recreates each element in her own kitchen.\n\nYou’ll see how she builds the cupcake step by step, from baking the soft pumpkin base to mixing the fluffy cream center and topping it with a smooth icing. She also shares a few tricks for getting the flavor and texture as close as possible to the original. Whether you’ve been waiting all year for pumpkin desserts or just love seeing classic snacks get a homemade twist, this one will make you want to preheat your oven.\n\nWatch until the end to see if Claire can match the look and taste of the real Hostess version, and find out how her homemade cupcakes compare. \n\nSubscribe for more recreations of nostalgic snacks and fall baking recipes, and let us know what Claire should tackle next.\n\n#ClaireRecreates #FallBaking #PumpkinDessert\n\nChapters\n00:00 Intro\n00:27 First impressions\n01:23 Smell test\n01:43 Taste test\n02:16 Measurements\n03:09 Reading the ingredients\n05:07 How To Make Iced Pumpkin Cupcakes\n06:43 How To Bake Cupcakes\n15:01 Coffee break\n16:40 Troubleshooting cupcakes\n19:44 How To Make Icing For Cupcakes\n27:40 Icing + decorating\n29:39 Comparison\n32:41 Cat cam\n\n\nIngredients\n\nCake\n1 cup mashed cooked sugar pumpkin (8.2 oz / 232g)\n⅓ cup milk\n1 teaspoon vanilla extract\n1½ cups all-purpose flour (7 oz / 200g)\n1½ teaspoons baking powder (0.21 oz / 6g)\n½ teaspoon ground cinnamon\n½ teaspoon Chinese five spice powder\n½ teaspoon ground turmeric\n¾ teaspoon Diamond Crystal kosher salt\n2 large eggs (3.5 oz / 100g), at room temperature\n¾ cup sugar (6.2 oz / 175g)\n¼ cup brown sugar\n½ cup neutral oil (3.9 oz / 110g)\n\nMarshmallow Filling\n38g water\n75g granulated sugar\n117g light corn syrup\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla paste\n\nIcing\nConfectioners’ sugar\nSour cream\nCorn syrup\nSalt\nVanilla\n\nSquiggles\nConfectioners’ sugar\nTurmeric\nBeet powder\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates", 9, 1979, false, "-veNfe5ZUF0", "https://www.youtube.com/watch?v=-veNfe5ZUF0", "/do (truncated) 12:47:25.733 [debug] QUERY OK source="sources" db=0.2ms idle=100.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:25.733 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:47:25.733 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [86669] 12:47:25.734 [debug] Current batch of media processed. Will check again in 1000ms 12:47:26.734 [debug] Current batch of media processed. Will check again in 1000ms 12:47:27.735 [debug] Current batch of media processed. Will check again in 1000ms 12:47:28.736 [debug] Current batch of media processed. Will check again in 1000ms 12:47:29.737 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this episode of Dessert Person, Claire Saffitz makes Pommes Anna, a classic French potato dish that’s as elegant as it is comforting. Using freshly dug potatoes from her garden, Claire layers thinly sliced potatoes with rosemary-infused butter, garlic, salt, and pepper, then bakes them until crisp and golden on the outside and tender inside.\n\nThis recipe is simple, refined, and ideal for the holidays - perfect alongside roast chicken, turkey, or any festive centerpiece. Claire shares her tips for even slicing, layering for the best texture, and how to unmold Pommes Anna beautifully for your table.\n\nIf you’re looking for a holiday side that feels both classic and special, this is it.\n\n#thanksgiving #potatorecipe #clairesaffitz #holiday \n\nChapters\n00:00 Intro\n01:31 Ingredients & Special Equipment\n02:25 Infuse the Butter & Prepare the Potatoes\n10:24 Cook & Bake\n11:26 Remove & Let Cool\n12:26 Serve\n14:26 Cat cam\n\nIngredients\n1 stick unsalted butter\n2 sprigs fresh rosemary\n2 garlic cloves, smashed and peeled\n3 lbs medium potatoes, peeled and held in room temperature tap water\nKosher salt\nFreshly ground black pepper\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 883, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e103000 - The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz.mkv", "id" => "ch3TBJkVkTY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ch3TBJkVkTY", "playlist_index" => 16, "timestamp" => 1761832870, "title" => "The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz", "upload_date" => "20251030"} 12:47:29.738 [debug] QUERY OK source="sources" db=0.3ms idle=441.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:47:29.738 [debug] QUERY OK source="sources" db=0.1ms idle=442.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:29.739 [debug] QUERY OK source="media_items" db=0.2ms idle=442.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 14:01:10Z], 9] 12:47:29.741 [debug] QUERY OK source="media_items" db=1.8ms idle=443.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this episode of Dessert Person, Claire Saffitz makes Pommes Anna, a classic French potato dish that’s as elegant as it is comforting. Using freshly dug potatoes from her garden, Claire layers thinly sliced potatoes with rosemary-infused butter, garlic, salt, and pepper, then bakes them until crisp and golden on the outside and tender inside.\n\nThis recipe is simple, refined, and ideal for the holidays - perfect alongside roast chicken, turkey, or any festive centerpiece. Claire shares her tips for even slicing, layering for the best texture, and how to unmold Pommes Anna beautifully for your table.\n\nIf you’re looking for a holiday side that feels both classic and special, this is it.\n\n#thanksgiving #potatorecipe #clairesaffitz #holiday \n\nChapters\n00:00 Intro\n01:31 Ingredients & Special Equipment\n02:25 Infuse the Butter & Prepare the Potatoes\n10:24 Cook & Bake\n11:26 Remove & Let Cool\n12:26 Serve\n14:26 Cat cam\n\nIngredients\n1 stick unsalted butter\n2 sprigs fresh rosemary\n2 garlic cloves, smashed and peeled\n3 lbs medium potatoes, peeled and held in room temperature tap water\nKosher salt\nFreshly ground black pepper\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz", "43e02fe7-186a-40b5-bafb-e1f9961aa76b", 9, [], 883, false, "ch3TBJkVkTY", "https://www.youtube.com/watch?v=ch3TBJkVkTY", 16, "/downloads/shows/Claire Recreates/Season 2025/s2025e103000 - The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz.mkv", false, false, false, 1, ~U[2025-10-30 14:01:10Z], ~U[2026-04-16 10:47:29Z], ~U[2026-04-16 10:47:29Z], "In this episode of Dessert Person, Claire Saffitz makes Pommes Anna, a classic French potato dish that’s as elegant as it is comforting. Using freshly dug potatoes from her garden, Claire layers thinly sliced potatoes with rosemary-infused butter, garlic, salt, and pepper, then bakes them until crisp and golden on the outside and tender inside.\n\nThis recipe is simple, refined, and ideal for the holidays - perfect alongside roast chicken, turkey, or any festive centerpiece. Claire shares her tips for even slicing, layering for the best texture, and how to unmold Pommes Anna beautifully for your table.\n\nIf you’re looking for a holiday side that feels both classic and special, this is it.\n\n#thanksgiving #potatorecipe #clairesaffitz #holiday \n\nChapters\n00:00 Intro\n01:31 Ingredients & Special Equipment\n02:25 Infuse the Butter & Prepare the Potatoes\n10:24 Cook & Bake\n11:26 Remove & Let Cool\n12:26 Serve\n14:26 Cat cam\n\nIngredients\n1 stick unsalted butter\n2 sprigs fresh rosemary\n2 garlic cloves, smashed and peeled\n3 lbs medium potatoes, peeled and held in room temperature tap water\nKosher salt\nFreshly ground black pepper\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz", 9, 883, false, "ch3TBJkVkTY", "https://www.youtube.com/watch?v=ch3TBJkVkTY", "/downloads/shows/Claire Recreates/Season 2025/s2025e103000 - The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz.mkv", false, ~U[2025-10-30 14:01:10Z]] 12:47:29.742 [debug] QUERY OK source="sources" db=0.2ms idle=104.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:29.742 [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] 12:47:29.743 [debug] QUERY OK source="media_items" db=0.3ms 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 [89428] 12:47:29.743 [debug] Current batch of media processed. Will check again in 1000ms 12:47:30.283 [info] {"source":"oban","duration":1195,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:30.744 [debug] Current batch of media processed. Will check again in 1000ms 12:47:31.746 [debug] Current batch of media processed. Will check again in 1000ms 12:47:32.747 [debug] Current batch of media processed. Will check again in 1000ms 12:47:33.748 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates\nIn this episode of Claire Recreates, Claire tackles a true lunchbox classic: the Little Debbie Honey Bun. Soft, sticky, sweet, and glazed, Honey Buns are one of the most iconic packaged pastries around and recreating them at home is a labor of love. Claire dives into what makes the original so nostalgic, from the enriched dough and spiraled shape to the signature sticky-sweet glaze.\n\nYou’ll watch as she mixes and proofs the dough, rolls and cuts each bun, then fries them to get that signature tender, slightly chewy texture. Once they’re golden, she finishes them with a warm honey glaze that melts into all the nooks and crannies, giving them that unmistakable glossy sheen.\n\nAlong the way, Claire shares tips for developing flavor in the dough, keeping the buns soft after frying, and getting the glaze just right. Whether you grew up eating Honey Buns on the go or just love seeing nostalgic snacks recreated from scratch, this episode is pure sticky-sweet comfort.\n\nStick around until the end to see how Claire’s homemade Honey Buns compare to the Little Debbie original, and whether she can truly match the iconic taste and look.\n\nSubscribe for more recreations of nostalgic snacks and comfort-food favorites, and let us know what Claire should take on next.\n\n#ClaireRecreates #HoneyBuns #LittleDebbie\n\nChapters\n00:00 Intro\n00:15 First impressions\n00:54 Smell test\n02:12 Taste test\n02:49 Reading the ingredients\n04:44 Measurements\n06:16 Game plan\n06:40 Dough Rise\n13:29 Form buns (swirl) Proof\n21:21 Frying Glazing\n27:24 Comparison\n30:17 Cat cam\n\nDOUGH\n¾ cup whole milk\n38g plus 368g all-purpose flour\n3 large eggs, chilled\n1½ tablespoons vegetable oil\n1½ tablespoons granulated sugar\n1½ tablespoons honey\n8 grams kosher salt\n1½ teaspoons instant yeast\n85g unsalted butter, cut into ½-inch pieces, chilled\nNeutral oil, for frying\n\nSWIRL\nWater + Cinnamon\n\nGLAZE\n½ cup whole milk\n2 tablespoons unsalted butter\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1835, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e120400 - I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates.mkv", "id" => "CViDoQkqf24", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CViDoQkqf24", "playlist_index" => 17, "timestamp" => 1764860432, "title" => "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates", "upload_date" => "20251204"} 12:47:33.749 [debug] QUERY OK source="sources" db=0.3ms idle=452.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:47:33.750 [debug] QUERY OK source="sources" db=0.4ms idle=453.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:33.750 [debug] QUERY OK source="media_items" db=0.2ms idle=453.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-04 15:00:32Z], 9] 12:47:33.753 [debug] QUERY OK source="media_items" db=2.4ms idle=454.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates\nIn this episode of Claire Recreates, Claire tackles a true lunchbox classic: the Little Debbie Honey Bun. Soft, sticky, sweet, and glazed, Honey Buns are one of the most iconic packaged pastries around and recreating them at home is a labor of love. Claire dives into what makes the original so nostalgic, from the enriched dough and spiraled shape to the signature sticky-sweet glaze.\n\nYou’ll watch as she mixes and proofs the dough, rolls and cuts each bun, then fries them to get that signature tender, slightly chewy texture. Once they’re golden, she finishes them with a warm honey glaze that melts into all the nooks and crannies, giving them that unmistakable glossy sheen.\n\nAlong the way, Claire shares tips for developing flavor in the dough, keeping the buns soft after frying, and getting the glaze just right. Whether you grew up eating Honey Buns on the go or just love seeing nostalgic snacks recreated from scratch, this episode is pure sticky-sweet comfort.\n\nStick around until the end to see how Claire’s homemade Honey Buns compare to the Little Debbie original, and whether she can truly match the iconic taste and look.\n\nSubscribe for more recreations of nostalgic snacks and comfort-food favorites, and let us know what Claire should take on next.\n\n#ClaireRecreates #HoneyBuns #LittleDebbie\n\nChapters\n00:00 Intro\n00:15 First impressions\n00:54 Smell test\n02:12 Taste test\n02:49 Reading the ingredients\n04:44 Measurements\n06:16 Game plan\n06:40 Dough Rise\n13:29 Form buns (swirl) Proof\n21:21 Frying Glazing\n27:24 Comparison\n30:17 Cat cam\n\nDOUGH\n¾ cup whole milk\n38g plus 368g all-purpose flour\n3 large eggs, chilled\n1½ tablespoons vegetable oil\n1½ tablespoons granulated sugar\n1½ tablespoons honey\n8 grams kosher salt\n1½ teaspoons instant yeast\n85g unsalted butter, cut into ½-inch pieces, chilled\nNeutral oil, for frying\n\nSWIRL\nWater + Cinnamon\n\nGLAZE\n½ cup whole milk\n2 tablespoons unsalted butter\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates", "990f854b-d707-40e4-a2eb-e1262ba037ac", 9, [], 1835, false, "CViDoQkqf24", "https://www.youtube.com/watch?v=CViDoQkqf24", 17, "/downloads/shows/Claire Recreates/Season 2025/s2025e120400 - I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates.mkv", false, false, false, 1, ~U[2025-12-04 15:00:32Z], ~U[2026-04-16 10:47:33Z], ~U[2026-04-16 10:47:33Z], "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates\nIn this episode of Claire Recreates, Claire tackles a true lunchbox classic: the Little Debbie Honey Bun. Soft, sticky, sweet, and glazed, Honey Buns are one of the most iconic packaged pastries around and recreating them at home is a labor of love. Claire dives into what makes the original so nostalgic, from the enriched dough and spiraled shape to the signature sticky-sweet glaze.\n\nYou’ll watch as she mixes and proofs the dough, rolls and cuts each bun, then fries them to get that signature tender, slightly chewy texture. Once they’re golden, she finishes them with a warm honey glaze that melts into all the nooks and crannies, giving them that unmistakable glossy sheen.\n\nAlong the way, Claire shares tips for developing flavor in the dough, keeping the buns soft after frying, and getting the glaze just right. Whether you grew up eating Honey Buns on the go or just love seeing nostalgic snacks recreated from scratch, this episode is pure sticky-sweet comfort.\n\nStick around until the end to see how Claire’s homemade Honey Buns compare to the Little Debbie original, and whether she can truly match the iconic taste and look.\n\nSubscribe for more recreations of nostalgic snacks and comfort-food favorites, and let us know what Claire should take on next.\n\n#ClaireRecreates #HoneyBuns #LittleDebbie\n\nChapters\n00:00 Intro\n00:15 First impressions\n00:54 Smell test\n02:12 Taste test\n02:49 Reading the ingredients\n04:44 Measurements\n06:16 Game plan\n06:40 Dough Rise\n13:29 Form buns (swirl) Proof\n21:21 Frying Glazing\n27:24 Comparison\n30:17 Cat cam\n\nDOUGH\n¾ cup whole milk\n38g plus 368g all-purpose flour\n3 large eggs, chilled\n1½ tablespoons vegetable oil\n1½ tablespoons granulated sugar\n1½ tablespoons honey\n8 grams kosher salt\n1½ teaspoons instant yeast\n85g unsalted butter, cut into ½-inch pieces, chilled\nNeutral oil, for frying\n\nSWIRL\nWater + Cinnamon\n\nGLAZE\n½ cup whole milk\n2 tablespoons unsalted butter\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates", 9, 1835, false, "CViDoQkqf24", "https://www.youtube.com/watch?v=CViDoQkqf24", "/downloads/shows/Claire Recreates/Season 2025/s2025e120400 - I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates.mkv", false, ~U[2025-12-04 15:00:32Z]] 12:47:33.754 [debug] QUERY OK source="sources" db=0.2ms idle=111.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:33.754 [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] 12:47:33.755 [debug] QUERY OK source="media_items" db=0.2ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [103699] 12:47:33.755 [debug] Current batch of media processed. Will check again in 1000ms 12:47:34.756 [debug] Current batch of media processed. Will check again in 1000ms 12:47:35.757 [debug] Current batch of media processed. Will check again in 1000ms 12:47:36.758 [debug] Current batch of media processed. Will check again in 1000ms 12:47:37.759 [debug] Current batch of media processed. Will check again in 1000ms 12:47:38.760 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Whoppers | Claire Recreates\nIn this episode of Claire Recreates, Claire takes on a movie-theater and candy-aisle classic: Whoppers. Crunchy, airy, deeply malty, and coated in milk chocolate, Whoppers seem simple, but recreating that unmistakable texture from scratch turns out to be a real technical puzzle.\n\nClaire starts by breaking down the heart of the candy: the light, crisp malted center. She builds it from an Italian meringue made with whipped egg whites and a cooked sugar syrup, then folds in a carefully balanced malt mixture made from malted milk powder, barley malt flour, milk, salt, and leavening. The mixture is cooked, aerated, portioned into tiny spheres, and baked until dry, hollow, and shatter-crisp inside.\n\nOnce the centers are just right, Claire moves on to the chocolate. She coats each malted ball in smooth milk chocolate, dialing in the thickness and snap so it eats like the real thing, no waxy shortcuts, no shortcuts at all.\n\nAlong the way, Claire dives into what gives Whoppers their signature flavor, why malt is so nostalgic, and how industrial candy achieves that ultra-light crunch. She shares tips on sugar stages, drying vs. baking, and how small changes can completely alter the final texture.\n\n#clairesaffitz #whoppers #chocolate \n\nChapters\n00:00 Intro\n01:31 First impressions\n01:57 Reading the ingredients\n02:52 Taste test\n03:44 Measurements\n04:36 Game plan\n04:45 How To Make Whoppers\n17:34 Coat in tempered milk chocolate\n21:23 Comparison\n24:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1458, "filename" => "/downloads/shows/Claire Recreates/Season 2026/s2026e020400 - I Tried Making Homemade Whoppers | Claire Recreates.mkv", "id" => "Zs8bGlrcYAo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Zs8bGlrcYAo", "playlist_index" => 18, "timestamp" => 1770217267, "title" => "I Tried Making Homemade Whoppers | Claire Recreates", "upload_date" => "20260204"} 12:47:38.761 [debug] QUERY OK source="sources" db=0.2ms idle=1464.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:47:38.761 [debug] QUERY OK source="sources" db=0.1ms idle=1465.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:38.762 [debug] QUERY OK source="media_items" db=0.2ms idle=1465.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-04 15:01:07Z], 9] 12:47:38.764 [debug] QUERY OK source="media_items" db=1.3ms idle=1116.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Whoppers | Claire Recreates\nIn this episode of Claire Recreates, Claire takes on a movie-theater and candy-aisle classic: Whoppers. Crunchy, airy, deeply malty, and coated in milk chocolate, Whoppers seem simple, but recreating that unmistakable texture from scratch turns out to be a real technical puzzle.\n\nClaire starts by breaking down the heart of the candy: the light, crisp malted center. She builds it from an Italian meringue made with whipped egg whites and a cooked sugar syrup, then folds in a carefully balanced malt mixture made from malted milk powder, barley malt flour, milk, salt, and leavening. The mixture is cooked, aerated, portioned into tiny spheres, and baked until dry, hollow, and shatter-crisp inside.\n\nOnce the centers are just right, Claire moves on to the chocolate. She coats each malted ball in smooth milk chocolate, dialing in the thickness and snap so it eats like the real thing, no waxy shortcuts, no shortcuts at all.\n\nAlong the way, Claire dives into what gives Whoppers their signature flavor, why malt is so nostalgic, and how industrial candy achieves that ultra-light crunch. She shares tips on sugar stages, drying vs. baking, and how small changes can completely alter the final texture.\n\n#clairesaffitz #whoppers #chocolate \n\nChapters\n00:00 Intro\n01:31 First impressions\n01:57 Reading the ingredients\n02:52 Taste test\n03:44 Measurements\n04:36 Game plan\n04:45 How To Make Whoppers\n17:34 Coat in tempered milk chocolate\n21:23 Comparison\n24:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Whoppers | Claire Recreates", "1ed8b9d1-a32d-4b7e-933b-014e6eb6add8", 9, [], 1458, false, "Zs8bGlrcYAo", "https://www.youtube.com/watch?v=Zs8bGlrcYAo", 18, "/downloads/shows/Claire Recreates/Season 2026/s2026e020400 - I Tried Making Homemade Whoppers | Claire Recreates.mkv", false, false, false, 1, ~U[2026-02-04 15:01:07Z], ~U[2026-04-16 10:47:38Z], ~U[2026-04-16 10:47:38Z], "I Tried Making Homemade Whoppers | Claire Recreates\nIn this episode of Claire Recreates, Claire takes on a movie-theater and candy-aisle classic: Whoppers. Crunchy, airy, deeply malty, and coated in milk chocolate, Whoppers seem simple, but recreating that unmistakable texture from scratch turns out to be a real technical puzzle.\n\nClaire starts by breaking down the heart of the candy: the light, crisp malted center. She builds it from an Italian meringue made with whipped egg whites and a cooked sugar syrup, then folds in a carefully balanced malt mixture made from malted milk powder, barley malt flour, milk, salt, and leavening. The mixture is cooked, aerated, portioned into tiny spheres, and baked until dry, hollow, and shatter-crisp inside.\n\nOnce the centers are just right, Claire moves on to the chocolate. She coats each malted ball in smooth milk chocolate, dialing in the thickness and snap so it eats like the real thing, no waxy shortcuts, no shortcuts at all.\n\nAlong the way, Claire dives into what gives Whoppers their signature flavor, why malt is so nostalgic, and how industrial candy achieves that ultra-light crunch. She shares tips on sugar stages, drying vs. baking, and how small changes can completely alter the final texture.\n\n#clairesaffitz #whoppers #chocolate \n\nChapters\n00:00 Intro\n01:31 First impressions\n01:57 Reading the ingredients\n02:52 Taste test\n03:44 Measurements\n04:36 Game plan\n04:45 How To Make Whoppers\n17:34 Coat in tempered milk chocolate\n21:23 Comparison\n24:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Whoppers | Claire Recreates", 9, 1458, false, "Zs8bGlrcYAo", "https://www.youtube.com/watch?v=Zs8bGlrcYAo", "/downloads/shows/Claire Recreates/Season 2026/s2026e020400 - I Tried Making Homemade Whoppers | Claire Recreates.mkv", false, ~U[2026-02-04 15:01:07Z]] 12:47:38.764 [debug] QUERY OK source="sources" db=0.2ms idle=116.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:38.765 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:47:38.765 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [130341] 12:47:38.765 [debug] Current batch of media processed. Will check again in 1000ms 12:47:39.766 [debug] Current batch of media processed. Will check again in 1000ms 12:47:40.767 [debug] Current batch of media processed. Will check again in 1000ms 12:47:41.768 [debug] Current batch of media processed. Will check again in 1000ms 12:47:42.202 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/playlist?list=PLUUVA1IsKg-WqgEu55gWCHpi8Wfs_YqcZ&si=z1kjgb4xIhCbOdG_ --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Claire Recreates/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/05/a7/05a7e72ea4e5fe0801514be8d425287c9edc0a9d1a692e415419319280e1c63a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:47:42.203 [debug] Gracefully stopping file follower 12:47:42.203 [debug] QUERY OK source="sources" db=0.3ms idle=1906.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:47:42.204 [debug] QUERY OK source="sources" db=0.2ms idle=1907.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.204 [debug] QUERY OK source="media_items" db=0.2ms idle=1907.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-04-30 13:00:32Z], 9] 12:47:42.207 [debug] QUERY OK source="media_items" db=1.8ms idle=1553.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Drumsticks | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Nestle Drumsticks, The Original Ice Cream Cone. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #icecream #drumsticks \n\nCHAPTERS:\n00:00 Intro\n00:54 Snack breakdown\n03:29 Measurements\n04:43 Original ingredients\n05:15 Game plan\n06:15 Make and form cones\n18:13 Bake the cones\n19:53 Make the chocolate coating\n23:03 Make the ice cream\n32:05 Form the bulbs\n33:26 The next morning\n34:04 Make the magic shell\n37:29 Taste test\n41:59 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make the cones, combine 3 ounces room temp egg whites, ¼ cup granulated sugar, ¼ up demerara sugar, 3 tablespoons melted cooled butter, 2 teaspoons vanilla extract, ½ cup flour, 1 tablespoon cornstarch, ½ teaspoon kosher salt, and ¼ teaspoon baking soda and blend with a hand blender until completely smooth. Transfer the batter to a piping bag and pipe some onto the grates of a preheated electric waffle cone iron. Cook just until it’s set but pale, then transfer the piece to a cutting board and trace around a football-shaped stencil with a wheel cutter. Remove the excess, return the piece to the iron, and cook until golden brown all over. Form the cone around a mold, pressing firmly on the seam. Repeat with more batter. Dry the cones in a 200-degree oven upside down on a rack set over a baking sheet,, then let cool. Brush the insides of the cones with a thin layer of melted chocolate, depositing a half teaspoon of chocolate in the bottom of each. Place the cones on a rack in the freezer. \n\nTo make the ice cream, vigorously whisk 8 large egg yolks, 1 cup granulated sugar, 30g malted milk powder, ½ teaspoon kosher salt, and 1 tablespoon vanilla paste in the bottom of a large saucepan until pale and ribbony. Whisk in 3 cups whole milk and 1 cup heavy cream. Cook the mixture, whisking constantly over medium heat, until it registers 180-degrees. Cool the mixture rapidly in an ice bath, then transfer to an ice cream machine and spin until the ice cream holds its shape. Transfer some of the ice cream to a piping bag and fill the chocolate-coated cones, smoothing the tops, then transfer the rest of the ice cream to a chilled loaf pan and freeze solid. Scooping from the loaf pan, place a scoop of ice cream over the top of each cone, smoothing with a small offset spatula to form nice domes. Freeze the cones overnight, then melt chocolate and coconut oil together to make a magic shell. Dip the cones in the shell, shaking off excess, then gently roll in very evenly chopped and sifted roasted salted peanuts. Freeze until form, at least 20 minutes.", "I Tried Making Homemade Drumsticks | Claire Recreates", "5d45deab-2e28-4f01-ac09-7bb583fe9854", 9, [], 2534, false, "Qd0TQeVQ2Z0", "https://www.youtube.com/watch?v=Qd0TQeVQ2Z0", 1, "/downloads/shows/Claire Recreates/Season 2024/s2024e043000 - I Tried Making Homemade Drumsticks | Claire Recreates.mkv", false, false, false, 1, ~U[2024-04-30 13:00:32Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "I Tried Making Homemade Drumsticks | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Nestle Drumsticks, The Original Ice Cream Cone. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #icecream #drumsticks \n\nCHAPTERS:\n00:00 Intro\n00:54 Snack breakdown\n03:29 Measurements\n04:43 Original ingredients\n05:15 Game plan\n06:15 Make and form cones\n18:13 Bake the cones\n19:53 Make the chocolate coating\n23:03 Make the ice cream\n32:05 Form the bulbs\n33:26 The next morning\n34:04 Make the magic shell\n37:29 Taste test\n41:59 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make the cones, combine 3 ounces room temp egg whites, ¼ cup granulated sugar, ¼ up demerara sugar, 3 tablespoons melted cooled butter, 2 teaspoons vanilla extract, ½ cup flour, 1 tablespoon cornstarch, ½ teaspoon kosher salt, and ¼ teaspoon baking soda and blend with a hand blender until completely smooth. Transfer the batter to a piping bag and pipe some onto the grates of a preheated electric waffle cone iron. Cook just until it’s set but pale, then transfer the piece to a cutting board and trace around a football-shaped stencil with a wheel cutter. Remove the excess, return the piece to the iron, and cook until golden brown all over. Form the cone around a mold, pressing firmly on the seam. Repeat with more batter. Dry the cones in a 200-degree oven upside down on a rack set over a baking sheet,, then let cool. Brush the insides of the cones with a thin layer of melted chocolate, depositing a half teaspoon of chocolate in the bottom of each. Place the cones on a rack in the freezer. \n\nTo make the ice cream, vigorously whisk 8 large egg yolks, 1 cup granulated sugar, 30g malted milk powder, ½ teaspoon kosher salt, and 1 tablespoon vanilla paste in the bottom of a large saucepan until pale and ribbony. Whisk in 3 cups whole milk and 1 cup heavy cream. Cook the mixture, whisking constantly over medium heat, until it registers 180-degrees. Cool the mixture rapidly in an ice bath, then transfer to an ice cream machine and spin until the ice cream holds its shape. Transfer some of the ice cream to a piping bag and fill the chocolate-coated cones, smoothing the tops, then transfer the rest of the ice cream to a chilled loaf pan and freeze solid. Scooping from the loaf pan, place a scoop of ice cream over the top of each cone, smoothing with a small offset spatula to form nice domes. Freeze the cones overnight, then melt chocola (truncated) 12:47:42.207 [debug] QUERY OK source="sources" db=0.2ms idle=555.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.208 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-28 13:00:19Z], 9] 12:47:42.215 [debug] QUERY OK source="media_items" db=5.8ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Zebra Cakes | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Little Debbie Zebra Cakes. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #zebracake #cake \n\nChapters:\n00:00 Intro\n00:43 Zebra Cakes\n01:20 Taste test (Original)\n06:28 Game plan\n06:41 Bake cake\n16:37 Make the filling\n22:23 Fill & stack\n25:28 Cut out hexagons\n27:56 Fondant & glaze\n38:14 Chocolate stripes\n42:15 Comparison\n45:28 Spud gets brushed!\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make zebra cakes, start by whisking ¾ cup cake flour, ¼ teaspoon baking powder, ⅛ teaspoon baking soda, and ¾ teaspoon kosher salt in a medium bowl. In a separate bowl, beat 3 egg yolks and ¼ cup sugar with a hand mixer until ribbony, then stream in ¼ cup neutral oil, ¼ cup buttermilk, and a teaspoon of vanilla extract. Pour the yolk mixture into the flour mixture and whisk until smooth. In a separate bowl, combine three egg whites, ¼ cup sugar, and a pinch of cream of tartar and beat with an electric mixer to stiff peaks. Fold the whites into the batter, then scrape onto a parchment-lined half sheet tray. Bake in a 225-degree oven until springy to the touch and golden, then let cool. Trim the edges then cut the sponge into 6-cm-wide strips and trim them horizontally so they’re about 7mm thick. Freeze the pieces. \n\nTo make the filling, combine 3 ounces egg whites, 5.5 ounces of sugar, ½ teaspoon kosher salt, and a pinch of cream of tartar in the bowl of a stand mixer set over a double boiler and stir until the sugar dissolves. Whip the egg whites until firm peaks form and the meringue is room temperature, then gradually beat in 10 ounces of room temperature butter. Scrape down the sides of the bowl and beat in 1 tablespoon of vanilla paste. Pipe a layer of buttercream onto the surfaces of the cake strips using a basketweave tip, then sandwich the cake together. Chill briefly, then cut out hexagons using a serrated knife and template. Chill the cakes. \n\nIn a large bowl, whisk together 4 cups powdered sugar, ¼ cup hot water, ¼ cup light corn syrup, and 1 teaspoon vanilla extract until smooth. Whisk in 142g melted white chocolate, then thin with more hot water to the desired consistency. Place over a saucepan of hot water to keep warm. Spread a thin layer over the tops of the cakes, let set at room temperature, then place the cakes one at a time glaze-size down on a large fork and spoon the glaze over the cakes until fully enrobed. Place on a wire rack and let set. Pipe thin lines of melted chocolate over the surfaces of the cakes in a wavy pattern and let set.", "I Tried Making Homemade Zebra Cakes | Claire Recreates", "2db7deb0-6739-4a79-86f3-00bedac075be", 9, [], 2744, false, "OtgomG_a0jg", "https://www.youtube.com/watch?v=OtgomG_a0jg", 2, "/downloads/shows/Claire Recreates/Season 2024/s2024e052800 - I Tried Making Homemade Zebra Cakes | Claire Recreates.mkv", false, false, false, 1, ~U[2024-05-28 13:00:19Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "I Tried Making Homemade Zebra Cakes | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Little Debbie Zebra Cakes. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #zebracake #cake \n\nChapters:\n00:00 Intro\n00:43 Zebra Cakes\n01:20 Taste test (Original)\n06:28 Game plan\n06:41 Bake cake\n16:37 Make the filling\n22:23 Fill & stack\n25:28 Cut out hexagons\n27:56 Fondant & glaze\n38:14 Chocolate stripes\n42:15 Comparison\n45:28 Spud gets brushed!\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make zebra cakes, start by whisking ¾ cup cake flour, ¼ teaspoon baking powder, ⅛ teaspoon baking soda, and ¾ teaspoon kosher salt in a medium bowl. In a separate bowl, beat 3 egg yolks and ¼ cup sugar with a hand mixer until ribbony, then stream in ¼ cup neutral oil, ¼ cup buttermilk, and a teaspoon of vanilla extract. Pour the yolk mixture into the flour mixture and whisk until smooth. In a separate bowl, combine three egg whites, ¼ cup sugar, and a pinch of cream of tartar and beat with an electric mixer to stiff peaks. Fold the whites into the batter, then scrape onto a parchment-lined half sheet tray. Bake in a 225-degree oven until springy to the touch and golden, then let cool. Trim the edges then cut the sponge into 6-cm-wide strips and trim them horizontally so they’re about 7mm thick. Freeze the pieces. \n\nTo make the filling, combine 3 ounces egg whites, 5.5 ounces of sugar, ½ teaspoon kosher salt, and a pinch of cream of tartar in the bowl of a stand mixer set over a double boiler and stir until the sugar dissolves. Whip the egg whites until firm peaks form and the meringue is room temperature, then gradually beat in 10 ounces of room temperature butter. Scrape down the sides of the bowl and beat in 1 tablespoon of vanilla paste. Pipe a layer of buttercream onto the surfaces of the cake strips using a basketweave tip, then sandwich the cake together. Chill briefly, then cut out hexagons using a serrated knife and template. Chill the cakes. \n\nIn a large bowl, whisk together 4 cups powdered sugar, ¼ cup hot water, ¼ cup light corn syrup, and 1 teaspoon vanilla extract until smooth. Whisk in 142g melted white chocolate, then thin with more hot water to the desired consistency. Place over a saucepan of hot water to keep warm. Spread a thin layer over the tops of the cakes, let set at room temperature, then place the cakes one at a time glaze-size down on a large fork and spoon the glaze over the cakes until fully en (truncated) 12:47:42.215 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.216 [debug] QUERY OK source="media_items" db=0.2ms idle=9.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-21 13:00:11Z], 9] 12:47:42.218 [debug] QUERY OK source="media_items" db=1.6ms idle=8.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Cosmic Brownies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tackles beloved childhood snacks and popular meals with a unique twist. In today's episode, she focuses on Little Debbie Cosmic Brownies. Join Claire as she reimagines these classics, offering delicious recipes perfect for home cooking enthusiasts. If you're nostalgic for your favorite foods and intrigued by the art of recipe development, this series is for you! Don't miss Claire's creative take on these timeless dishes.\n\n#cosmicbrownies #clairesaffitz #brownie \n\nChapters:\n00:00 Intro\n01:14 Basic components\n01:53 Taste test\n04:19 Measurements\n08:36 Game plan\n10:34 Temper the chocolate\n16:12 Make the candy coating\n23:29 Make the brownies\n29:12 Make the royal icing\n31:28 Make the glaze\n37:19 Assemble\n39:17 Conclusion\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nBROWNIES\n6.6 ounces bittersweet chocolate\n1 stick unsalted butter\n5.55 ounces confectioners’ sugar\n2 large egg yolks\n1 teaspoon kosher salt\n2 teaspoon vanilla extract or paste\n6 ounces all-purpose flour\n\nFUDGE FROSTING\n4 tablespoons unsalted butter\n1½ cups (300g) sugar\n2 tablespoons unsweetened cocoa powder\n¾ cup whole milk\nGenerous pinch of kosher salt\n1 teaspoon vanilla extract\n1½ ounces unsweetened chocolate\n\nBROWNIES: Preheat the oven to 350°F. Lightly butter the bottom and sides of a ¼ sheet pan. Line the bottom and two longer sides with a piece of parchment paper, smoothing to eliminate air bubbles. Melt chocolate and butter in a large bowl set over a double boiler, stirring often with a flexible heat-proof spatula. Remove from the heat and add the sugar, yolks, salt, and vanilla and whisk vigorously. Add the flour and fold thoroughly with the spatula until you have a homogenous dough. Spread into the prepared pan with an offset spatula in a smooth, even layer. Bake in a water bath until the brownies are set, 18 to 22 minutes. Remove from the oven and let cool completely.", "I Tried Making Homemade Cosmic Brownies | Claire Recreates", "1f0904af-7bce-4d3a-bc78-48147c8cf98e", 9, [], 2675, false, "BpA0hvBfnO0", "https://www.youtube.com/watch?v=BpA0hvBfnO0", 3, "/downloads/shows/Claire Recreates/Season 2024/s2024e062100 - I Tried Making Homemade Cosmic Brownies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-06-21 13:00:11Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "I Tried Making Homemade Cosmic Brownies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tackles beloved childhood snacks and popular meals with a unique twist. In today's episode, she focuses on Little Debbie Cosmic Brownies. Join Claire as she reimagines these classics, offering delicious recipes perfect for home cooking enthusiasts. If you're nostalgic for your favorite foods and intrigued by the art of recipe development, this series is for you! Don't miss Claire's creative take on these timeless dishes.\n\n#cosmicbrownies #clairesaffitz #brownie \n\nChapters:\n00:00 Intro\n01:14 Basic components\n01:53 Taste test\n04:19 Measurements\n08:36 Game plan\n10:34 Temper the chocolate\n16:12 Make the candy coating\n23:29 Make the brownies\n29:12 Make the royal icing\n31:28 Make the glaze\n37:19 Assemble\n39:17 Conclusion\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nBROWNIES\n6.6 ounces bittersweet chocolate\n1 stick unsalted butter\n5.55 ounces confectioners’ sugar\n2 large egg yolks\n1 teaspoon kosher salt\n2 teaspoon vanilla extract or paste\n6 ounces all-purpose flour\n\nFUDGE FROSTING\n4 tablespoons unsalted butter\n1½ cups (300g) sugar\n2 tablespoons unsweetened cocoa powder\n¾ cup whole milk\nGenerous pinch of kosher salt\n1 teaspoon vanilla extract\n1½ ounces unsweetened chocolate\n\nBROWNIES: Preheat the oven to 350°F. Lightly butter the bottom and sides of a ¼ sheet pan. Line the bottom and two longer sides with a piece of parchment paper, smoothing to eliminate air bubbles. Melt chocolate and butter in a large bowl set over a double boiler, stirring often with a flexible heat-proof spatula. Remove from the heat and add the sugar, yolks, salt, and vanilla and whisk vigorously. Add the flour and fold thoroughly with the spatula until you have a homogenous dough. Spread into the prepared pan with an offset spatula in a smooth, even layer. Bake in a water bath until the brownies are set, 18 to 22 minutes. Remove from the oven and let cool completely.", "I Tried Making Homemade Cosmic Brownies | Claire Recreates", 9, 2675, false, "BpA0hvBfnO0", "https://www.youtube.com/watch?v=BpA0hvBfnO0", "/downloads/shows/Claire Recreates/Season 2024/s2024e062100 - I Tried Making Homemade Cosmic Brownies | Claire Recreates.mkv", false, ~U[2024-06-21 13:00:11Z]] 12:47:42.218 [debug] QUERY OK source="sources" db=0.1ms idle=10.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.219 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-08 17:15:03Z], 9] 12:47:42.221 [debug] QUERY OK source="media_items" db=1.5ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz takes on nostalgic childhood snacks and popular meals, adding her own creative twist. In today's episode, she focuses on Strawberry Shortcake Bars, pairing them with homemade ice cream. Join Claire as she reimagines these classics, sharing delicious recipes perfect for home cooking enthusiasts. If you have a soft spot for your favorite foods and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive approach to these timeless treats.\n\n#strawberryshortcake #clairesaffitz #icecream \n\nChapters:\n00:00 Intro\n00:28 Strawberry shortcake bars\n01:12 Taste test\n02:53 Reading the ingredients\n04:01 Measurements\n07:03 Game plan\n09:16 Make the ice cream base\n12:47 Make strawberry ice cream base\n15:38 Make the strawberry cores\n24:07 Make cake crumbs\n28:34 Fill molds\n45:10 Assemble\n46:05 Comparison\n49:32 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nStrawberry Shortcake Bars\nMakes 8\n\nVANILLA ICE CREAM\n8 large egg yolks\n¾ cup granulated sugar\n½ teaspoon kosher salt\n1 tablespoon vanilla paste\n3 cups whole milk\n1 cup heavy cream\n\n1 pound strawberries chopped, mixed with 2 tbsp sugar, roasted at 275 for 1 hour, stir a few times, blend in to half of vanilla base and flavor with 1 Tbsp hibiscus powder and 20g freeze dried strawberries, strain, process\n\nSUGAR COOKIE CRUMBS\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour\n\nSTRAWBERRY VERSION\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour", "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates", "224d2990-5bd1-432d-8106-759ac6f02443", 9, [], 2988, false, "dPBXgwJD35E", "https://www.youtube.com/watch?v=dPBXgwJD35E", 4, "/downloads/shows/Claire Recreates/Season 2024/s2024e080800 - I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates.mkv", false, false, false, 1, ~U[2024-08-08 17:15:03Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz takes on nostalgic childhood snacks and popular meals, adding her own creative twist. In today's episode, she focuses on Strawberry Shortcake Bars, pairing them with homemade ice cream. Join Claire as she reimagines these classics, sharing delicious recipes perfect for home cooking enthusiasts. If you have a soft spot for your favorite foods and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive approach to these timeless treats.\n\n#strawberryshortcake #clairesaffitz #icecream \n\nChapters:\n00:00 Intro\n00:28 Strawberry shortcake bars\n01:12 Taste test\n02:53 Reading the ingredients\n04:01 Measurements\n07:03 Game plan\n09:16 Make the ice cream base\n12:47 Make strawberry ice cream base\n15:38 Make the strawberry cores\n24:07 Make cake crumbs\n28:34 Fill molds\n45:10 Assemble\n46:05 Comparison\n49:32 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nStrawberry Shortcake Bars\nMakes 8\n\nVANILLA ICE CREAM\n8 large egg yolks\n¾ cup granulated sugar\n½ teaspoon kosher salt\n1 tablespoon vanilla paste\n3 cups whole milk\n1 cup heavy cream\n\n1 pound strawberries chopped, mixed with 2 tbsp sugar, roasted at 275 for 1 hour, stir a few times, blend in to half of vanilla base and flavor with 1 Tbsp hibiscus powder and 20g freeze dried strawberries, strain, process\n\nSUGAR COOKIE CRUMBS\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour\n\nSTRAWBERRY VERSION\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour", "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates", 9, 2988, false, "dPBXgwJD35E", "https://www.youtube.com/watch?v=dPBXgwJD35E", "/downloads/shows/Claire Recreates/Season 2024/s2024e080800 - I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates.mkv", false, ~U[2024-08-08 17:15:03Z]] 12:47:42.222 [debug] QUERY OK source="sources" db=0.1ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.222 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-25 13:00:05Z], 9] 12:47:42.224 [debug] QUERY OK source="media_items" db=1.4ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Uncrustables | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she tackles the beloved Smucker’s Uncrustables, giving them a creative, from-scratch makeover. Claire takes no shortcuts, making her own homemade white bread, peanut butter, and jelly, transforming this nostalgic lunchbox staple into something truly special. If you’re a fan of classic snacks and curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive twist on this timeless favorite.\n\n#clairesaffitz #homemade #uncrustables \n\nChapters:\n00:00 Intro\n00:54 How does Claire Saffitz make a PBJ?\n01:50 Taste test\n02:19 Basic Components\n02:48 Reading the Ingredients\n03:50 Game Plan\n04:32 Soft White Bread\n06:31 Cal calls Uncrustables\n06:59 Peanut butter\n13:44 Grape Jelly\n18:10 Assembly\n26:47 Comparison\n28:58 Cat Cam\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nSOFT WHITE BREAD\nMakes 1 loaf\n\nTANGZHONG\n½ cup whole milk\n½ cup water\n50g (6 tablespoons) bread flour\n\nDOUGH\n3 cups (390g) bread flour, plus more, if needed, for work surface\n¼ cup water\n¼ cup milk \n2 tablespoons granulated sugar\n4 tablespoons neutral oil\n9g kosher salt (2½ teaspoons Diamond Crystal kosher salt)\n2 teaspoons instant yeast\n\nGrape Jelly\n2 lbs green apples\n1 quart 100% Concord grape juice\n1 cup sugar\n2 tablespoons lemon juice\n\nPeanut Butter\n3 cups roasted salted peanuts, toasted until golden brown\nGenerous pinch of salt\n2 teaspoons of honey", "I Tried Making Homemade Uncrustables | Claire Recreates", "8206583f-40df-48f9-a28a-6e6517f21bce", 9, [], 1750, false, "3eIbzifSZYY", "https://www.youtube.com/watch?v=3eIbzifSZYY", 5, "/downloads/shows/Claire Recreates/Season 2024/s2024e092500 - I Tried Making Homemade Uncrustables | Claire Recreates.mkv", false, false, false, 1, ~U[2024-09-25 13:00:05Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "I Tried Making Homemade Uncrustables | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she tackles the beloved Smucker’s Uncrustables, giving them a creative, from-scratch makeover. Claire takes no shortcuts, making her own homemade white bread, peanut butter, and jelly, transforming this nostalgic lunchbox staple into something truly special. If you’re a fan of classic snacks and curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive twist on this timeless favorite.\n\n#clairesaffitz #homemade #uncrustables \n\nChapters:\n00:00 Intro\n00:54 How does Claire Saffitz make a PBJ?\n01:50 Taste test\n02:19 Basic Components\n02:48 Reading the Ingredients\n03:50 Game Plan\n04:32 Soft White Bread\n06:31 Cal calls Uncrustables\n06:59 Peanut butter\n13:44 Grape Jelly\n18:10 Assembly\n26:47 Comparison\n28:58 Cat Cam\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nSOFT WHITE BREAD\nMakes 1 loaf\n\nTANGZHONG\n½ cup whole milk\n½ cup water\n50g (6 tablespoons) bread flour\n\nDOUGH\n3 cups (390g) bread flour, plus more, if needed, for work surface\n¼ cup water\n¼ cup milk \n2 tablespoons granulated sugar\n4 tablespoons neutral oil\n9g kosher salt (2½ teaspoons Diamond Crystal kosher salt)\n2 teaspoons instant yeast\n\nGrape Jelly\n2 lbs green apples\n1 quart 100% Concord grape juice\n1 cup sugar\n2 tablespoons lemon juice\n\nPeanut Butter\n3 cups roasted salted peanuts, toasted until golden brown\nGenerous pinch of salt\n2 teaspoons of honey", "I Tried Making Homemade Uncrustables | Claire Recreates", 9, 1750, false, "3eIbzifSZYY", "https://www.youtube.com/watch?v=3eIbzifSZYY", "/downloads/shows/Claire Recreates/Season 2024/s2024e092500 - I Tried Making Homemade Uncrustables | Claire Recreates.mkv", false, ~U[2024-09-25 13:00:05Z]] 12:47:42.225 [debug] QUERY OK source="sources" db=0.1ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.225 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-24 17:00:23Z], 9] 12:47:42.227 [debug] QUERY OK source="media_items" db=1.4ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she steps out to explore restaurant staples, starting with the iconic McDonald’s Apple Pie. Claire meticulously dissects the fast-food favorite, recreating it from scratch with her own version of a hand pie. From crafting a flaky, golden dough to making a perfectly spiced apple filling, Claire transforms this nostalgic dessert into a homemade masterpiece. If you love classic treats and are curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless favorite.\n\n#clairesaffitz #mcdonalds #applepie \n\nChapters:\n00:00 Intro\n00:30 McDonald’s Drive-Thru\n02:14 Back to the kitchen\n02:51 Measurements\n04:36 How To Make Baked Apple Pie\n04:49 Reading the Ingredients\n05:23 Doing some research\n05:49 How To Make Pastry\n09:47 How To Make Apple Filling\n21:09 Testing the lattice\n24:39 Assembly\n28:43 Baking\n30:26 McDonald’s vs Claire Saffitz\n32:18 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates", "04a97d83-8fb0-4736-a7eb-fbf40c1bf4a7", 9, [], 1957, false, "JPcLcSbYL94", "https://www.youtube.com/watch?v=JPcLcSbYL94", 6, "/downloads/shows/Claire Recreates/Season 2024/s2024e102400 - I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates.mkv", false, false, false, 1, ~U[2024-10-24 17:00:23Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she steps out to explore restaurant staples, starting with the iconic McDonald’s Apple Pie. Claire meticulously dissects the fast-food favorite, recreating it from scratch with her own version of a hand pie. From crafting a flaky, golden dough to making a perfectly spiced apple filling, Claire transforms this nostalgic dessert into a homemade masterpiece. If you love classic treats and are curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless favorite.\n\n#clairesaffitz #mcdonalds #applepie \n\nChapters:\n00:00 Intro\n00:30 McDonald’s Drive-Thru\n02:14 Back to the kitchen\n02:51 Measurements\n04:36 How To Make Baked Apple Pie\n04:49 Reading the Ingredients\n05:23 Doing some research\n05:49 How To Make Pastry\n09:47 How To Make Apple Filling\n21:09 Testing the lattice\n24:39 Assembly\n28:43 Baking\n30:26 McDonald’s vs Claire Saffitz\n32:18 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates", 9, 1957, false, "JPcLcSbYL94", "https://www.youtube.com/watch?v=JPcLcSbYL94", "/downloads/shows/Claire Recreates/Season 2024/s2024e102400 - I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates.mkv", false, ~U[2024-10-24 17:00:23Z]] 12:47:42.228 [debug] QUERY OK source="sources" db=0.1ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.229 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-28 14:45:02Z], 9] 12:47:42.230 [debug] QUERY OK source="media_items" db=1.2ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Mallomars | Claire Recreates\nOn this special episode of Claire Recreates, Claire Saffitz tackles the beloved Mallomars, a treat adored in the Northeast but deserving of nationwide love. From crafting the perfect graham cracker base to whipping up a fluffy marshmallow and dipping it all in luscious chocolate, Claire brings this classic to life in a way only she can. If you love reimagined classics and want to celebrate the joy of homemade desserts, this episode is a must-watch. Don’t miss Claire’s creative take on this iconic treat—perfect for the holiday season! Happy Thanksgiving! We’re incredibly thankful for everyone who has joined us on this channel.\n\n#clairesaffitz #mallomars #smores #chocolate \n\nChapters:\n00:00 Intro\n00:25 Mallomars\n02:06 Measurements\n02:42 Ingredients\n03:30 Game plan\n03:58 Cookie base\n15:59 Marshmallow topper\n23:37 Assemble cookies\n24:59 Temper chocolate & enrobe\n29:27 Snap test\n30:03 Comparison\n31:53 Harris review\n32:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Mallomars | Claire Recreates", "d6415220-ae0c-4008-9139-660f9be368f4", 9, [], 1971, false, "Qh9zncazwM8", "https://www.youtube.com/watch?v=Qh9zncazwM8", 7, "/downloads/shows/Claire Recreates/Season 2024/s2024e112800 - I Tried Making Homemade Mallomars | Claire Recreates.mkv", false, false, false, 1, ~U[2024-11-28 14:45:02Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "I Tried Making Homemade Mallomars | Claire Recreates\nOn this special episode of Claire Recreates, Claire Saffitz tackles the beloved Mallomars, a treat adored in the Northeast but deserving of nationwide love. From crafting the perfect graham cracker base to whipping up a fluffy marshmallow and dipping it all in luscious chocolate, Claire brings this classic to life in a way only she can. If you love reimagined classics and want to celebrate the joy of homemade desserts, this episode is a must-watch. Don’t miss Claire’s creative take on this iconic treat—perfect for the holiday season! Happy Thanksgiving! We’re incredibly thankful for everyone who has joined us on this channel.\n\n#clairesaffitz #mallomars #smores #chocolate \n\nChapters:\n00:00 Intro\n00:25 Mallomars\n02:06 Measurements\n02:42 Ingredients\n03:30 Game plan\n03:58 Cookie base\n15:59 Marshmallow topper\n23:37 Assemble cookies\n24:59 Temper chocolate & enrobe\n29:27 Snap test\n30:03 Comparison\n31:53 Harris review\n32:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Mallomars | Claire Recreates", 9, 1971, false, "Qh9zncazwM8", "https://www.youtube.com/watch?v=Qh9zncazwM8", "/downloads/shows/Claire Recreates/Season 2024/s2024e112800 - I Tried Making Homemade Mallomars | Claire Recreates.mkv", false, ~U[2024-11-28 14:45:02Z]] 12:47:42.231 [debug] QUERY OK source="sources" db=0.1ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.231 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-31 15:00:27Z], 9] 12:47:42.233 [debug] QUERY OK source="media_items" db=1.3ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Milano Cookies | Claire Recreates\nIn this special holiday episode of Claire Recreates, Claire Saffitz takes on the beloved Pepperidge Farm Milano Cookies, a holiday favorite that deserves a homemade makeover. Claire is determined to recreate the classic cookie, from baking the perfect buttery, delicate biscuit to making a smooth, decadent chocolate filling. With her signature flair, Claire transforms this iconic treat into a homemade version that’s even more irresistible than the original. If you love reimagined classics and want to impress your guests with a holiday dessert that’s both nostalgic and elevated, this episode is a must-watch. Don’t miss Claire’s delicious twist on the Milano Cookie—perfect for celebrating the season! As we close out 2024, we’re incredibly thankful for everyone who’s supported this channel. Happy Holidays!\n\n#clairesaffitz #cookies #dessert \n\nChapters:\n00:00 Intro\n00:26 Milano cookies\n02:08 Taste test\n02:46 Measurements\n03:54 Reading the ingredients\n04:54 Game plan\n05:22 Harris' Milano Tip\n06:12 Make & bake cookies\n07:47 Making the batter\n09:47 Piping the cookies\n13:36 Making cookie improvements\n29:33 Make mint layer\n31:55 Temper chocolate\n33:29 Assembly\n35:06 Comparison \n36:24 Harris’ review\n36:56 Conclusion\n37:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Milano Cookies | Claire Recreates", "2a1dc971-40bf-4d51-b441-b041041a9de7", 9, [], 2271, false, "L_Xu-Tt7fHA", "https://www.youtube.com/watch?v=L_Xu-Tt7fHA", 8, "/downloads/shows/Claire Recreates/Season 2024/s2024e123100 - I Tried Making Homemade Milano Cookies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-12-31 15:00:27Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "I Tried Making Homemade Milano Cookies | Claire Recreates\nIn this special holiday episode of Claire Recreates, Claire Saffitz takes on the beloved Pepperidge Farm Milano Cookies, a holiday favorite that deserves a homemade makeover. Claire is determined to recreate the classic cookie, from baking the perfect buttery, delicate biscuit to making a smooth, decadent chocolate filling. With her signature flair, Claire transforms this iconic treat into a homemade version that’s even more irresistible than the original. If you love reimagined classics and want to impress your guests with a holiday dessert that’s both nostalgic and elevated, this episode is a must-watch. Don’t miss Claire’s delicious twist on the Milano Cookie—perfect for celebrating the season! As we close out 2024, we’re incredibly thankful for everyone who’s supported this channel. Happy Holidays!\n\n#clairesaffitz #cookies #dessert \n\nChapters:\n00:00 Intro\n00:26 Milano cookies\n02:08 Taste test\n02:46 Measurements\n03:54 Reading the ingredients\n04:54 Game plan\n05:22 Harris' Milano Tip\n06:12 Make & bake cookies\n07:47 Making the batter\n09:47 Piping the cookies\n13:36 Making cookie improvements\n29:33 Make mint layer\n31:55 Temper chocolate\n33:29 Assembly\n35:06 Comparison \n36:24 Harris’ review\n36:56 Conclusion\n37:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Milano Cookies | Claire Recreates", 9, 2271, false, "L_Xu-Tt7fHA", "https://www.youtube.com/watch?v=L_Xu-Tt7fHA", "/downloads/shows/Claire Recreates/Season 2024/s2024e123100 - I Tried Making Homemade Milano Cookies | Claire Recreates.mkv", false, ~U[2024-12-31 15:00:27Z]] 12:47:42.234 [debug] QUERY OK source="sources" db=0.1ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.234 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-30 14:00:49Z], 9] 12:47:42.236 [debug] QUERY OK source="media_items" db=1.5ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz dives into beloved childhood snacks and iconic treats, adding her own creative flair. In today’s episode, she focuses on the classic Little Debbie Oatmeal Creme Pies, transforming them with a homemade twist. Join Claire as she reimagines this nostalgic favorite, sharing mouthwatering recipes perfect for home baking enthusiasts. If you have a fondness for your favorite snacks and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless treat.\n\n#clairesaffitz #oatmeal #pie \n\nChapters:\n\n00:00 Intro\n01:10 Measurements\n01:29 Smell and taste test\n02:22 Ingredients\n03:42 Game plan\n03:49 Make cookie dough + bake\n13:21 Make adjustments to cookies\n22:11 Marshmallow cream\n25:29 Assemble\n26:19 Comparison\n27:55 Harris review\n28:32 Conclusion\n29:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nCOOKIES\n1¼ cups old-fashioned rolled oats, divided\n¼ cup raisins\n½ cup whole milk\n¼ cup water \n (¼ cup oats + raisins cooked in milk/water, remaining 1 cup oats processed w/ dry ingredients)\n1½ cups all-purpose flour\n2 teaspoons baking soda\n1 teaspoon kosher salt\n¾ teaspoon cinnamon\nPinch of ground cloves\n8 tablespoons (1 stick) unsalted butter, at room temperature\n¼ cup vegetable oil\n1 cup light brown sugar (packed)\n⅓ cup molasses\n1 large egg\n2 teaspoons pure vanilla extract\n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon King Arthur Pure Vanilla Extract", "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates", "9ce7d748-837a-40c3-81b9-5c9c799c2bd3", 9, [], 1755, false, "qX5AKIh2x_4", "https://www.youtube.com/watch?v=qX5AKIh2x_4", 9, "/downloads/shows/Claire Recreates/Season 2024/s2024e083000 - I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-08-30 14:00:49Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz dives into beloved childhood snacks and iconic treats, adding her own creative flair. In today’s episode, she focuses on the classic Little Debbie Oatmeal Creme Pies, transforming them with a homemade twist. Join Claire as she reimagines this nostalgic favorite, sharing mouthwatering recipes perfect for home baking enthusiasts. If you have a fondness for your favorite snacks and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless treat.\n\n#clairesaffitz #oatmeal #pie \n\nChapters:\n\n00:00 Intro\n01:10 Measurements\n01:29 Smell and taste test\n02:22 Ingredients\n03:42 Game plan\n03:49 Make cookie dough + bake\n13:21 Make adjustments to cookies\n22:11 Marshmallow cream\n25:29 Assemble\n26:19 Comparison\n27:55 Harris review\n28:32 Conclusion\n29:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nCOOKIES\n1¼ cups old-fashioned rolled oats, divided\n¼ cup raisins\n½ cup whole milk\n¼ cup water \n (¼ cup oats + raisins cooked in milk/water, remaining 1 cup oats processed w/ dry ingredients)\n1½ cups all-purpose flour\n2 teaspoons baking soda\n1 teaspoon kosher salt\n¾ teaspoon cinnamon\nPinch of ground cloves\n8 tablespoons (1 stick) unsalted butter, at room temperature\n¼ cup vegetable oil\n1 cup light brown sugar (packed)\n⅓ cup molasses\n1 large egg\n2 teaspoons pure vanilla extract\n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon King Arthur Pure Vanilla Extract", "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates", 9, 1755, false, "qX5AKIh2x_4", "https://www.youtube.com/watch?v=qX5AKIh2x_4", "/downloads/shows/Claire Recreates/Season 2024/s2024e083000 - I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates.mkv", false, ~U[2024-08-30 14:00:49Z]] 12:47:42.237 [debug] QUERY OK source="sources" db=0.2ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.238 [debug] QUERY OK source="media_items" db=0.5ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-20 14:00:30Z], 9] 12:47:42.240 [debug] QUERY OK source="media_items" db=1.2ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on the challenge of recreating beloved childhood snacks and iconic treats—but this time, she’s in new territory. In today’s episode, Claire tackles the Kinder Bueno, attempting to craft the crispy, creamy chocolate bar from scratch—all from a rental kitchen. With limited tools and unfamiliar surroundings, she puts her skills to the test, proving that great recipes can come together anywhere. If you love nostalgic sweets and the thrill of recipe experimentation, this episode is a must-watch!\n\n#kinderbueno #clairesaffitz #chocolate \n\nChapters\n00:00 Intro\n00:26 How To Make Kinder Bueno\n02:46 Measurements\n02:59 Taste test\n04:53 Ingredients\n06:14 Molds\n11:07 How To Make Kinder Bueno Wafers\n18:10 100% polycarbonate\n20:04 Plan B?\n21:37 Lessons learned\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates", "381c98dd-3cf5-4a7f-9313-685223c93c85", 9, [], 1385, false, "ipwx-AzyDNk", "https://www.youtube.com/watch?v=ipwx-AzyDNk", 10, "/downloads/shows/Claire Recreates/Season 2025/s2025e032000 - I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates.mkv", false, false, false, 1, ~U[2025-03-20 14:00:30Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on the challenge of recreating beloved childhood snacks and iconic treats—but this time, she’s in new territory. In today’s episode, Claire tackles the Kinder Bueno, attempting to craft the crispy, creamy chocolate bar from scratch—all from a rental kitchen. With limited tools and unfamiliar surroundings, she puts her skills to the test, proving that great recipes can come together anywhere. If you love nostalgic sweets and the thrill of recipe experimentation, this episode is a must-watch!\n\n#kinderbueno #clairesaffitz #chocolate \n\nChapters\n00:00 Intro\n00:26 How To Make Kinder Bueno\n02:46 Measurements\n02:59 Taste test\n04:53 Ingredients\n06:14 Molds\n11:07 How To Make Kinder Bueno Wafers\n18:10 100% polycarbonate\n20:04 Plan B?\n21:37 Lessons learned\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates", 9, 1385, false, "ipwx-AzyDNk", "https://www.youtube.com/watch?v=ipwx-AzyDNk", "/downloads/shows/Claire Recreates/Season 2025/s2025e032000 - I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates.mkv", false, ~U[2025-03-20 14:00:30Z]] 12:47:42.240 [debug] QUERY OK source="sources" db=0.2ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.241 [debug] QUERY OK source="media_items" db=0.3ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-01 14:00:48Z], 9] 12:47:42.243 [debug] QUERY OK source="media_items" db=1.5ms queue=0.2ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Australian Tim Tams | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on one of the most iconic Australian snacks of all time — Tim Tams. Known for their rich chocolate coating, creamy filling, and signature crunchy biscuit texture, Tim Tams are a beloved treat across Australia and beyond. Claire attempts to recreate Tim Tams from scratch, using her precise baking techniques and deep understanding of pastry science to reverse-engineer this layered chocolate biscuit sandwich at home.\n\nWatch as Claire tests different chocolate biscuit recipes, explores the mechanics of the perfect Tim Tam Slam, and tackles the challenge of replicating a store-bought snack with homemade methods. This episode blends Claire’s signature charm with technical baking as she breaks down how to make homemade Tim Tams, one of the most recognizable Australian treats.\n\nIf you’re a fan of nostalgic snack recipes, iconic cookie recreations, or just love watching detailed step-by-step baking challenges, this episode is for you.\n\n#ClaireSaffitz #ClaireRecreates #TimTams #ChocolateBiscuits #BakingChallenge #dessertperson \n\nChapters\n\n00:00 Intro\n00:18 Tim Tams\n01:53 Taste test\n03:56 Measurements\n04:59 Reading the Ingredients\n06:25 Game plan\n06:42 Make cookies / biscuits\n14:14 Use pasta roller\n17:31 Make filling\n19:13 Assemble\n22:02 Enrobe\n23:13 Comparison\n25:38 Cat cam\n\nChocolate biscuit\n1½ cups all-purpose flour\n½ cup unsweetened cocoa powder\n2 tablespoon malted milk powder \n¾ teaspoon kosher salt\n½ teaspoon baking powder \n1 stick unsalted butter, at cool room temperature \n¾ cup sugar\n1 large egg\n2 teaspoons pure vanilla extract\n\nChocolate cream filling: \n150g milk chocolate, chopped\n150g heavy cream\nSalt\n\nChocolate coating \nDark chocolate\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Australian Tim Tams | Claire Recreates", "d6bb3b65-12b6-46d3-b530-09140cde0b32", 9, [], 1555, false, "X5-yAJszoB0", "https://www.youtube.com/watch?v=X5-yAJszoB0", 11, "/downloads/shows/Claire Recreates/Season 2025/s2025e050100 - I Tried Making Homemade Australian Tim Tams | Claire Recreates.mkv", false, false, false, 1, ~U[2025-05-01 14:00:48Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "I Tried Making Homemade Australian Tim Tams | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on one of the most iconic Australian snacks of all time — Tim Tams. Known for their rich chocolate coating, creamy filling, and signature crunchy biscuit texture, Tim Tams are a beloved treat across Australia and beyond. Claire attempts to recreate Tim Tams from scratch, using her precise baking techniques and deep understanding of pastry science to reverse-engineer this layered chocolate biscuit sandwich at home.\n\nWatch as Claire tests different chocolate biscuit recipes, explores the mechanics of the perfect Tim Tam Slam, and tackles the challenge of replicating a store-bought snack with homemade methods. This episode blends Claire’s signature charm with technical baking as she breaks down how to make homemade Tim Tams, one of the most recognizable Australian treats.\n\nIf you’re a fan of nostalgic snack recipes, iconic cookie recreations, or just love watching detailed step-by-step baking challenges, this episode is for you.\n\n#ClaireSaffitz #ClaireRecreates #TimTams #ChocolateBiscuits #BakingChallenge #dessertperson \n\nChapters\n\n00:00 Intro\n00:18 Tim Tams\n01:53 Taste test\n03:56 Measurements\n04:59 Reading the Ingredients\n06:25 Game plan\n06:42 Make cookies / biscuits\n14:14 Use pasta roller\n17:31 Make filling\n19:13 Assemble\n22:02 Enrobe\n23:13 Comparison\n25:38 Cat cam\n\nChocolate biscuit\n1½ cups all-purpose flour\n½ cup unsweetened cocoa powder\n2 tablespoon malted milk powder \n¾ teaspoon kosher salt\n½ teaspoon baking powder \n1 stick unsalted butter, at cool room temperature \n¾ cup sugar\n1 large egg\n2 teaspoons pure vanilla extract\n\nChocolate cream filling: \n150g milk chocolate, chopped\n150g heavy cream\nSalt\n\nChocolate coating \nDark chocolate\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Australian Tim Tams | Claire Recreates", 9, 1555, false, "X5-yAJszoB0", "https://www.youtube.com/watch?v=X5-yAJszoB0", "/downloads/shows/Claire Recreates/Season 2025/s2025e050100 - I Tried Making Homemade Australian Tim Tams | Claire Recreates.mkv", false, ~U[2025-05-01 14:00:48Z]] 12:47:42.244 [debug] QUERY OK source="sources" db=0.2ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.244 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-18 14:00:44Z], 9] 12:47:42.246 [debug] QUERY OK source="media_items" db=1.4ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Tokyo Bananas | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on Japan’s most beloved souvenir treat ... the Tokyo Banana. These soft sponge cakes filled with sweet banana custard are a staple of Japanese train stations, gift shops, and childhood memories. Claire breaks it down step-by-step, making everything from scratch, from the light-as-air sponge cake to the rich banana cream filling.\n\nWhether you’re a Tokyo Banana superfan or discovering this iconic snack for the first time, follow along as Claire gives this classic the Dessert Person™ treatment.\n\n#TokyoBanana #ClaireSaffitz #ClaireRecreates #JapaneseSnacks #BananaCustard #SpongeCakeRecipe #JapaneseBaking #DessertPerson \n\nTOKYO BANANA (Recreates)\n\nSPONGE CAKE\n4 egg yolks, at room temperature\n20g sugar\n40 ml milk \n40g oil\n½ teaspoon vanilla extract\n30g all-purpose flour\n30g cornstarch\n4 egg whites, at room temperature\nPinch of salt \n¼ teaspoon cream of tartar \n60g sugar \n\nBANANA CREAM\n⅓ cup sugar \n3 tablespoons cornstarch\n½ teaspoon Diamond Crystal kosher salt \n4 large egg yolks\n1⅔ cups heavy cream, chilled\n1 cup mashed overripe banana (8.5 oz / 240g), from about 2 medium\n\nChapters\n00:00 Intro\n00:19 Tokyo Banana\n01:05 Smell test\n02:08 Taste test\n02:29 Measurements\n03:56 Reading the ingredients\n05:12 How to make Tokyo Banana\n05:35 Make banana custard + cool\n10:47 How to make chiffon sponge\n17:31 Construction apparatus\n21:57 Assembly + chill\n24:12 Comparison\n26:56 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Tokyo Bananas | Claire Recreates", "111e2322-ba7b-4fc0-94cb-da69602098b8", 9, [], 1634, false, "RWE_WnFfvcI", "https://www.youtube.com/watch?v=RWE_WnFfvcI", 12, "/downloads/shows/Claire Recreates/Season 2025/s2025e061800 - I Tried Making Homemade Tokyo Bananas | Claire Recreates.mkv", false, false, false, 1, ~U[2025-06-18 14:00:44Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "I Tried Making Homemade Tokyo Bananas | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on Japan’s most beloved souvenir treat ... the Tokyo Banana. These soft sponge cakes filled with sweet banana custard are a staple of Japanese train stations, gift shops, and childhood memories. Claire breaks it down step-by-step, making everything from scratch, from the light-as-air sponge cake to the rich banana cream filling.\n\nWhether you’re a Tokyo Banana superfan or discovering this iconic snack for the first time, follow along as Claire gives this classic the Dessert Person™ treatment.\n\n#TokyoBanana #ClaireSaffitz #ClaireRecreates #JapaneseSnacks #BananaCustard #SpongeCakeRecipe #JapaneseBaking #DessertPerson \n\nTOKYO BANANA (Recreates)\n\nSPONGE CAKE\n4 egg yolks, at room temperature\n20g sugar\n40 ml milk \n40g oil\n½ teaspoon vanilla extract\n30g all-purpose flour\n30g cornstarch\n4 egg whites, at room temperature\nPinch of salt \n¼ teaspoon cream of tartar \n60g sugar \n\nBANANA CREAM\n⅓ cup sugar \n3 tablespoons cornstarch\n½ teaspoon Diamond Crystal kosher salt \n4 large egg yolks\n1⅔ cups heavy cream, chilled\n1 cup mashed overripe banana (8.5 oz / 240g), from about 2 medium\n\nChapters\n00:00 Intro\n00:19 Tokyo Banana\n01:05 Smell test\n02:08 Taste test\n02:29 Measurements\n03:56 Reading the ingredients\n05:12 How to make Tokyo Banana\n05:35 Make banana custard + cool\n10:47 How to make chiffon sponge\n17:31 Construction apparatus\n21:57 Assembly + chill\n24:12 Comparison\n26:56 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Tokyo Bananas | Claire Recreates", 9, 1634, false, "RWE_WnFfvcI", "https://www.youtube.com/watch?v=RWE_WnFfvcI", "/downloads/shows/Claire Recreates/Season 2025/s2025e061800 - I Tried Making Homemade Tokyo Bananas | Claire Recreates.mkv", false, ~U[2025-06-18 14:00:44Z]] 12:47:42.247 [debug] QUERY OK source="sources" db=0.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" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.248 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 14:01:08Z], 9] 12:47:42.250 [debug] QUERY OK source="media_items" db=1.5ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates\nJoin Claire Saffitz in this episode of Claire Recreates as she takes on the beloved Mexican snack cake, Gansitos. From fluffy sponge cake to rich strawberry jam, creamy filling, and a decadent chocolate coating, Claire shows you how to recreate this nostalgic treat from scratch. Whether you grew up with Gansitos or are discovering them for the first time, this recipe is a delicious trip down memory lane.\nFilmed with baking techniques and inspired by the original Marinela Gansito, Claire walks through every step, sharing tips, baking science, and fun behind-the-scenes moments. Perfect for fans of Mexican desserts, snack cake lovers, and anyone curious about making iconic treats at home.\n\n#gansitos #cake #clairesaffitz #snackcake #chocolatedessert #strawberry \n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin → softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla extract\n\nSTRAWBERRY JELLY\n\nSPONGE CAKE\n4 large eggs, whites and yolks separated, at room temperature\n½ cup (100g) granulated sugar, divided\n4 tablespoons whole milk (60ml)\n½ teaspoon kosher salt\n¼ teaspoon cream of tartar\n¼ cup neutral oil\n⅔ cup (85g) all-purpose flour\n1 teaspoon vanilla extract\n\nChapters:\n00:00 Intro\n00:29 Gansitos\n00:58 First impressions\n01:19 Smell test\n01:29 Taste test\n01:57 Measurements\n03:17 Reading the Ingredients\n06:26 Game plan\n06:42 Make sprinkles\n09:50 Strawberry jelly\n10:57 Trip to apple orchard\n11:44 Strawberry jelly continued\n12:38 Bake sponge\n21:55 Creme filling\n25:40 Chocolate poured fondant + assembly\n29:37 Comparison\n31:42 Cat cam\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates", "62104d10-abe0-46b5-85e3-5664d1f31a1d", 9, [], 1919, false, "k9rGZzQswI0", "https://www.youtube.com/watch?v=k9rGZzQswI0", 13, "/downloads/shows/Claire Recreates/Season 2025/s2025e081400 - I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates.mkv", false, false, false, 1, ~U[2025-08-14 14:01:08Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates\nJoin Claire Saffitz in this episode of Claire Recreates as she takes on the beloved Mexican snack cake, Gansitos. From fluffy sponge cake to rich strawberry jam, creamy filling, and a decadent chocolate coating, Claire shows you how to recreate this nostalgic treat from scratch. Whether you grew up with Gansitos or are discovering them for the first time, this recipe is a delicious trip down memory lane.\nFilmed with baking techniques and inspired by the original Marinela Gansito, Claire walks through every step, sharing tips, baking science, and fun behind-the-scenes moments. Perfect for fans of Mexican desserts, snack cake lovers, and anyone curious about making iconic treats at home.\n\n#gansitos #cake #clairesaffitz #snackcake #chocolatedessert #strawberry \n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin → softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla extract\n\nSTRAWBERRY JELLY\n\nSPONGE CAKE\n4 large eggs, whites and yolks separated, at room temperature\n½ cup (100g) granulated sugar, divided\n4 tablespoons whole milk (60ml)\n½ teaspoon kosher salt\n¼ teaspoon cream of tartar\n¼ cup neutral oil\n⅔ cup (85g) all-purpose flour\n1 teaspoon vanilla extract\n\nChapters:\n00:00 Intro\n00:29 Gansitos\n00:58 First impressions\n01:19 Smell test\n01:29 Taste test\n01:57 Measurements\n03:17 Reading the Ingredients\n06:26 Game plan\n06:42 Make sprinkles\n09:50 Strawberry jelly\n10:57 Trip to apple orchard\n11:44 Strawberry jelly continued\n12:38 Bake sponge\n21:55 Creme filling\n25:40 Chocolate poured fondant + assembly\n29:37 Comparison\n31:42 Cat cam\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates", 9, 1919, false, "k9rGZzQswI0", "https://www.youtube.com/watch?v=k9rGZzQswI0", "/downloads/shows/Claire Recreates/Season 2025/s2025e081400 - I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates.mkv", false, ~U[2025-08-14 14:01:08Z]] 12:47:42.250 [debug] QUERY OK source="sources" db=0.2ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.251 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT max(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:14Z], 9] 12:47:42.253 [debug] QUERY OK source="media_items" db=1.4ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Nutter Butter Cookies | Claire Recreates\nCan Claire Saffitz recreate the iconic Nutter Butter cookie at home? In this episode of Claire Recreates, Claire takes on the challenge of making homemade Nutter Butters completely from scratch. She bakes crunchy peanut shaped cookies and fills them with creamy peanut butter frosting.\n\nFrom mixing the dough to shaping the classic peanut design and testing the filling, Claire shows every step of the process as she compares homemade vs store bought Nutter Butters. Does the DIY version hold up against the nostalgic packaged cookie? Watch to find out.\n\nIf you have ever wondered how to make Nutter Butter cookies at home or wanted to see how they compare to the original, this video has the recipes, techniques, and taste test you are looking for.\n\n#ClaireSaffitz #ClaireRecreates #NutterButter #HomemadeCookies #baking \n\nIngredients:\nDOUGH\n2½ cups all-purpose flour \n½ teaspoon whole wheat flour \n¼ teaspoon baking soda\n1½ teaspoons Diamond Crystal kosher salt\n2 sticks unsalted butter, at room temperature\n1 cup granulated sugar\n1 cup natural smooth peanut butter\n2 large eggs (3.5 oz / 100g)\n1 teaspoon vanilla extract\nFILLING\n1 cup smooth natural peanut butter \n½ tsp. vanilla extract \nKosher salt\n¼ cup sugar\n3 tablespoons corn syrup\n1 tablespoon honey \n2 tablespoons butter \n\nChapters\n00:00 Intro\n00:16 How To Make Nutter Butter Cookies\n00:40 First impressions\n01:53 Ingredients\n02:54 Measurements\n04:01 Wood carving kit\n05:08 Game plan\n05:20 Cookie stamp\n10:02 Make Nutter Butter Cookies\n19:15 Bake\n20:57 Filling\n23:09 Assembly\n23:38 Comparison\n25:23 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates", "6da81550-0add-4a92-b6d2-358434d36d58", 9, [], 1540, false, "ck6D0SdiYA0", "https://www.youtube.com/watch?v=ck6D0SdiYA0", 14, "/downloads/shows/Claire Recreates/Season 2025/s2025e092600 - I Tried Making Homemade Nutter Butter Cookies | Claire Recreates.mkv", false, false, false, 1, ~U[2025-09-26 14:01:14Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates\nCan Claire Saffitz recreate the iconic Nutter Butter cookie at home? In this episode of Claire Recreates, Claire takes on the challenge of making homemade Nutter Butters completely from scratch. She bakes crunchy peanut shaped cookies and fills them with creamy peanut butter frosting.\n\nFrom mixing the dough to shaping the classic peanut design and testing the filling, Claire shows every step of the process as she compares homemade vs store bought Nutter Butters. Does the DIY version hold up against the nostalgic packaged cookie? Watch to find out.\n\nIf you have ever wondered how to make Nutter Butter cookies at home or wanted to see how they compare to the original, this video has the recipes, techniques, and taste test you are looking for.\n\n#ClaireSaffitz #ClaireRecreates #NutterButter #HomemadeCookies #baking \n\nIngredients:\nDOUGH\n2½ cups all-purpose flour \n½ teaspoon whole wheat flour \n¼ teaspoon baking soda\n1½ teaspoons Diamond Crystal kosher salt\n2 sticks unsalted butter, at room temperature\n1 cup granulated sugar\n1 cup natural smooth peanut butter\n2 large eggs (3.5 oz / 100g)\n1 teaspoon vanilla extract\nFILLING\n1 cup smooth natural peanut butter \n½ tsp. vanilla extract \nKosher salt\n¼ cup sugar\n3 tablespoons corn syrup\n1 tablespoon honey \n2 tablespoons butter \n\nChapters\n00:00 Intro\n00:16 How To Make Nutter Butter Cookies\n00:40 First impressions\n01:53 Ingredients\n02:54 Measurements\n04:01 Wood carving kit\n05:08 Game plan\n05:20 Cookie stamp\n10:02 Make Nutter Butter Cookies\n19:15 Bake\n20:57 Filling\n23:09 Assembly\n23:38 Comparison\n25:23 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates", 9, 1540, false, "ck6D0SdiYA0", "https://www.youtube.com/watch?v=ck6D0SdiYA0", "/downloads/shows/Claire Recreates/Season 2025/s2025e092600 - I Tried Making Homemade Nutter Butter Cookies | Claire Recreates.mkv", false, ~U[2025-09-26 14:01:14Z]] 12:47:42.254 [debug] QUERY OK source="sources" db=0.2ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.254 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 14:00:01Z], 9] 12:47:42.257 [debug] QUERY OK source="media_items" db=1.8ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Many thanks to our sponsor for today’s episode, Cometeer. If you’re interested in trying curated coffees from top roasters like Onyx, Proud Mary, and Intelligentsia, you can save $20 on your Discovery Box order by using the link http://cometeer.com/clairesaffitz . It’s the perfect way to start your morning or to give as a thoughtful gift this holiday season.\n\nI Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates \nIn this episode of Claire Recreates, Claire takes on the new-ish Hostess Iced Pumpkin Cupcake and makes it completely from scratch at home. Every fall, this limited-edition treat shows up in grocery stores and reminds us that pumpkin season has officially started. Claire dives into what makes it so nostalgic - the spiced pumpkin cake, the creamy filling, and that signature orange icing swirl -then recreates each element in her own kitchen.\n\nYou’ll see how she builds the cupcake step by step, from baking the soft pumpkin base to mixing the fluffy cream center and topping it with a smooth icing. She also shares a few tricks for getting the flavor and texture as close as possible to the original. Whether you’ve been waiting all year for pumpkin desserts or just love seeing classic snacks get a homemade twist, this one will make you want to preheat your oven.\n\nWatch until the end to see if Claire can match the look and taste of the real Hostess version, and find out how her homemade cupcakes compare. \n\nSubscribe for more recreations of nostalgic snacks and fall baking recipes, and let us know what Claire should tackle next.\n\n#ClaireRecreates #FallBaking #PumpkinDessert\n\nChapters\n00:00 Intro\n00:27 First impressions\n01:23 Smell test\n01:43 Taste test\n02:16 Measurements\n03:09 Reading the ingredients\n05:07 How To Make Iced Pumpkin Cupcakes\n06:43 How To Bake Cupcakes\n15:01 Coffee break\n16:40 Troubleshooting cupcakes\n19:44 How To Make Icing For Cupcakes\n27:40 Icing + decorating\n29:39 Comparison\n32:41 Cat cam\n\n\nIngredients\n\nCake\n1 cup mashed cooked sugar pumpkin (8.2 oz / 232g)\n⅓ cup milk\n1 teaspoon vanilla extract\n1½ cups all-purpose flour (7 oz / 200g)\n1½ teaspoons baking powder (0.21 oz / 6g)\n½ teaspoon ground cinnamon\n½ teaspoon Chinese five spice powder\n½ teaspoon ground turmeric\n¾ teaspoon Diamond Crystal kosher salt\n2 large eggs (3.5 oz / 100g), at room temperature\n¾ cup sugar (6.2 oz / 175g)\n¼ cup brown sugar\n½ cup neutral oil (3.9 oz / 110g)\n\nMarshmallow Filling\n38g water\n75g granulated sugar\n117g light corn syrup\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla paste\n\nIcing\nConfectioners’ sugar\nSour cream\nCorn syrup\nSalt\nVanilla\n\nSquiggles\nConfectioners’ sugar\nTurmeric\nBeet powder\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates", "a6396945-775a-49fb-abc5-78075c1fcdb6", 9, [], 1979, false, "-veNfe5ZUF0", "https://www.youtube.com/watch?v=-veNfe5ZUF0", 15, "/downloads/shows/Claire Recreates/Season 2025/s2025e102300 - I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates.mkv", false, false, false, 1, ~U[2025-10-23 14:00:01Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "Many thanks to our sponsor for today’s episode, Cometeer. If you’re interested in trying curated coffees from top roasters like Onyx, Proud Mary, and Intelligentsia, you can save $20 on your Discovery Box order by using the link http://cometeer.com/clairesaffitz . It’s the perfect way to start your morning or to give as a thoughtful gift this holiday season.\n\nI Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates \nIn this episode of Claire Recreates, Claire takes on the new-ish Hostess Iced Pumpkin Cupcake and makes it completely from scratch at home. Every fall, this limited-edition treat shows up in grocery stores and reminds us that pumpkin season has officially started. Claire dives into what makes it so nostalgic - the spiced pumpkin cake, the creamy filling, and that signature orange icing swirl -then recreates each element in her own kitchen.\n\nYou’ll see how she builds the cupcake step by step, from baking the soft pumpkin base to mixing the fluffy cream center and topping it with a smooth icing. She also shares a few tricks for getting the flavor and texture as close as possible to the original. Whether you’ve been waiting all year for pumpkin desserts or just love seeing classic snacks get a homemade twist, this one will make you want to preheat your oven.\n\nWatch until the end to see if Claire can match the look and taste of the real Hostess version, and find out how her homemade cupcakes compare. \n\nSubscribe for more recreations of nostalgic snacks and fall baking recipes, and let us know what Claire should tackle next.\n\n#ClaireRecreates #FallBaking #PumpkinDessert\n\nChapters\n00:00 Intro\n00:27 First impressions\n01:23 Smell test\n01:43 Taste test\n02:16 Measurements\n03:09 Reading the ingredients\n05:07 How To Make Iced Pumpkin Cupcakes\n06:43 How To Bake Cupcakes\n15:01 Coffee break\n16:40 Troubleshooting cupcakes\n19:44 How To Make Icing For Cupcakes\n27:40 Icing + decorating\n29:39 Comparison\n32:41 Cat cam\n\n\nIngredients\n\nCake\n1 cup mashed cooked sugar pumpkin (8.2 oz / 232g)\n⅓ cup milk\n1 teaspoon vanilla extract\n1½ cups all-purpose flour (7 oz / 200g)\n1½ teaspoons baking powder (0.21 oz / 6g)\n½ teaspoon ground cinnamon\n½ teaspoon Chinese five spice powder\n½ teaspoon ground turmeric\n¾ teaspoon Diamond Crystal kosher salt\n2 large eggs (3.5 oz / 100g), at room temperature\n¾ cup sugar (6.2 oz / 175g)\n¼ cup brown sugar\n½ cup neutral oil (3.9 oz / 110g)\n\nMarshmallow Filling\n38g water\n75g granulated sugar\n117g light corn syrup\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla paste\n\nIcing\nConfectioners’ sugar\nSour cream\nCorn syrup\nSalt\nVanilla\n\nSquiggles\nConfectioners’ sugar\nTurmeric\nBeet powder\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates", 9, 1979, false, "-veNfe5ZUF0", "https://www.youtube.com/watch?v=-veNfe5ZUF0", "/down (truncated) 12:47:42.257 [debug] QUERY OK source="sources" db=0.2ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.258 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 14:01:10Z], 9] 12:47:42.264 [debug] QUERY OK source="media_items" db=5.3ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this episode of Dessert Person, Claire Saffitz makes Pommes Anna, a classic French potato dish that’s as elegant as it is comforting. Using freshly dug potatoes from her garden, Claire layers thinly sliced potatoes with rosemary-infused butter, garlic, salt, and pepper, then bakes them until crisp and golden on the outside and tender inside.\n\nThis recipe is simple, refined, and ideal for the holidays - perfect alongside roast chicken, turkey, or any festive centerpiece. Claire shares her tips for even slicing, layering for the best texture, and how to unmold Pommes Anna beautifully for your table.\n\nIf you’re looking for a holiday side that feels both classic and special, this is it.\n\n#thanksgiving #potatorecipe #clairesaffitz #holiday \n\nChapters\n00:00 Intro\n01:31 Ingredients & Special Equipment\n02:25 Infuse the Butter & Prepare the Potatoes\n10:24 Cook & Bake\n11:26 Remove & Let Cool\n12:26 Serve\n14:26 Cat cam\n\nIngredients\n1 stick unsalted butter\n2 sprigs fresh rosemary\n2 garlic cloves, smashed and peeled\n3 lbs medium potatoes, peeled and held in room temperature tap water\nKosher salt\nFreshly ground black pepper\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz", "b12b9162-d26a-4812-8dfc-b7ea393079d0", 9, [], 883, false, "ch3TBJkVkTY", "https://www.youtube.com/watch?v=ch3TBJkVkTY", 16, "/downloads/shows/Claire Recreates/Season 2025/s2025e103000 - The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz.mkv", false, false, false, 1, ~U[2025-10-30 14:01:10Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "In this episode of Dessert Person, Claire Saffitz makes Pommes Anna, a classic French potato dish that’s as elegant as it is comforting. Using freshly dug potatoes from her garden, Claire layers thinly sliced potatoes with rosemary-infused butter, garlic, salt, and pepper, then bakes them until crisp and golden on the outside and tender inside.\n\nThis recipe is simple, refined, and ideal for the holidays - perfect alongside roast chicken, turkey, or any festive centerpiece. Claire shares her tips for even slicing, layering for the best texture, and how to unmold Pommes Anna beautifully for your table.\n\nIf you’re looking for a holiday side that feels both classic and special, this is it.\n\n#thanksgiving #potatorecipe #clairesaffitz #holiday \n\nChapters\n00:00 Intro\n01:31 Ingredients & Special Equipment\n02:25 Infuse the Butter & Prepare the Potatoes\n10:24 Cook & Bake\n11:26 Remove & Let Cool\n12:26 Serve\n14:26 Cat cam\n\nIngredients\n1 stick unsalted butter\n2 sprigs fresh rosemary\n2 garlic cloves, smashed and peeled\n3 lbs medium potatoes, peeled and held in room temperature tap water\nKosher salt\nFreshly ground black pepper\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz", 9, 883, false, "ch3TBJkVkTY", "https://www.youtube.com/watch?v=ch3TBJkVkTY", "/downloads/shows/Claire Recreates/Season 2025/s2025e103000 - The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz.mkv", false, ~U[2025-10-30 14:01:10Z]] 12:47:42.264 [debug] QUERY OK source="sources" db=0.2ms idle=10.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.265 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-04 15:00:32Z], 9] 12:47:42.267 [debug] QUERY OK source="media_items" db=1.6ms idle=8.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates\nIn this episode of Claire Recreates, Claire tackles a true lunchbox classic: the Little Debbie Honey Bun. Soft, sticky, sweet, and glazed, Honey Buns are one of the most iconic packaged pastries around and recreating them at home is a labor of love. Claire dives into what makes the original so nostalgic, from the enriched dough and spiraled shape to the signature sticky-sweet glaze.\n\nYou’ll watch as she mixes and proofs the dough, rolls and cuts each bun, then fries them to get that signature tender, slightly chewy texture. Once they’re golden, she finishes them with a warm honey glaze that melts into all the nooks and crannies, giving them that unmistakable glossy sheen.\n\nAlong the way, Claire shares tips for developing flavor in the dough, keeping the buns soft after frying, and getting the glaze just right. Whether you grew up eating Honey Buns on the go or just love seeing nostalgic snacks recreated from scratch, this episode is pure sticky-sweet comfort.\n\nStick around until the end to see how Claire’s homemade Honey Buns compare to the Little Debbie original, and whether she can truly match the iconic taste and look.\n\nSubscribe for more recreations of nostalgic snacks and comfort-food favorites, and let us know what Claire should take on next.\n\n#ClaireRecreates #HoneyBuns #LittleDebbie\n\nChapters\n00:00 Intro\n00:15 First impressions\n00:54 Smell test\n02:12 Taste test\n02:49 Reading the ingredients\n04:44 Measurements\n06:16 Game plan\n06:40 Dough Rise\n13:29 Form buns (swirl) Proof\n21:21 Frying Glazing\n27:24 Comparison\n30:17 Cat cam\n\nDOUGH\n¾ cup whole milk\n38g plus 368g all-purpose flour\n3 large eggs, chilled\n1½ tablespoons vegetable oil\n1½ tablespoons granulated sugar\n1½ tablespoons honey\n8 grams kosher salt\n1½ teaspoons instant yeast\n85g unsalted butter, cut into ½-inch pieces, chilled\nNeutral oil, for frying\n\nSWIRL\nWater + Cinnamon\n\nGLAZE\n½ cup whole milk\n2 tablespoons unsalted butter\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates", "bd96a9a3-6724-4eb9-98de-5561dcbc4a6c", 9, [], 1835, false, "CViDoQkqf24", "https://www.youtube.com/watch?v=CViDoQkqf24", 17, "/downloads/shows/Claire Recreates/Season 2025/s2025e120400 - I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates.mkv", false, false, false, 1, ~U[2025-12-04 15:00:32Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates\nIn this episode of Claire Recreates, Claire tackles a true lunchbox classic: the Little Debbie Honey Bun. Soft, sticky, sweet, and glazed, Honey Buns are one of the most iconic packaged pastries around and recreating them at home is a labor of love. Claire dives into what makes the original so nostalgic, from the enriched dough and spiraled shape to the signature sticky-sweet glaze.\n\nYou’ll watch as she mixes and proofs the dough, rolls and cuts each bun, then fries them to get that signature tender, slightly chewy texture. Once they’re golden, she finishes them with a warm honey glaze that melts into all the nooks and crannies, giving them that unmistakable glossy sheen.\n\nAlong the way, Claire shares tips for developing flavor in the dough, keeping the buns soft after frying, and getting the glaze just right. Whether you grew up eating Honey Buns on the go or just love seeing nostalgic snacks recreated from scratch, this episode is pure sticky-sweet comfort.\n\nStick around until the end to see how Claire’s homemade Honey Buns compare to the Little Debbie original, and whether she can truly match the iconic taste and look.\n\nSubscribe for more recreations of nostalgic snacks and comfort-food favorites, and let us know what Claire should take on next.\n\n#ClaireRecreates #HoneyBuns #LittleDebbie\n\nChapters\n00:00 Intro\n00:15 First impressions\n00:54 Smell test\n02:12 Taste test\n02:49 Reading the ingredients\n04:44 Measurements\n06:16 Game plan\n06:40 Dough Rise\n13:29 Form buns (swirl) Proof\n21:21 Frying Glazing\n27:24 Comparison\n30:17 Cat cam\n\nDOUGH\n¾ cup whole milk\n38g plus 368g all-purpose flour\n3 large eggs, chilled\n1½ tablespoons vegetable oil\n1½ tablespoons granulated sugar\n1½ tablespoons honey\n8 grams kosher salt\n1½ teaspoons instant yeast\n85g unsalted butter, cut into ½-inch pieces, chilled\nNeutral oil, for frying\n\nSWIRL\nWater + Cinnamon\n\nGLAZE\n½ cup whole milk\n2 tablespoons unsalted butter\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates", 9, 1835, false, "CViDoQkqf24", "https://www.youtube.com/watch?v=CViDoQkqf24", "/downloads/shows/Claire Recreates/Season 2025/s2025e120400 - I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates.mkv", false, ~U[2025-12-04 15:00:32Z]] 12:47:42.268 [debug] QUERY OK source="sources" db=0.4ms idle=9.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.269 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=4.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-04 15:01:07Z], 9] 12:47:42.271 [debug] QUERY OK source="media_items" db=1.4ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Whoppers | Claire Recreates\nIn this episode of Claire Recreates, Claire takes on a movie-theater and candy-aisle classic: Whoppers. Crunchy, airy, deeply malty, and coated in milk chocolate, Whoppers seem simple, but recreating that unmistakable texture from scratch turns out to be a real technical puzzle.\n\nClaire starts by breaking down the heart of the candy: the light, crisp malted center. She builds it from an Italian meringue made with whipped egg whites and a cooked sugar syrup, then folds in a carefully balanced malt mixture made from malted milk powder, barley malt flour, milk, salt, and leavening. The mixture is cooked, aerated, portioned into tiny spheres, and baked until dry, hollow, and shatter-crisp inside.\n\nOnce the centers are just right, Claire moves on to the chocolate. She coats each malted ball in smooth milk chocolate, dialing in the thickness and snap so it eats like the real thing, no waxy shortcuts, no shortcuts at all.\n\nAlong the way, Claire dives into what gives Whoppers their signature flavor, why malt is so nostalgic, and how industrial candy achieves that ultra-light crunch. She shares tips on sugar stages, drying vs. baking, and how small changes can completely alter the final texture.\n\n#clairesaffitz #whoppers #chocolate \n\nChapters\n00:00 Intro\n01:31 First impressions\n01:57 Reading the ingredients\n02:52 Taste test\n03:44 Measurements\n04:36 Game plan\n04:45 How To Make Whoppers\n17:34 Coat in tempered milk chocolate\n21:23 Comparison\n24:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Whoppers | Claire Recreates", "ebc0dbfe-42b3-41d2-a7db-dd55f08b3ea8", 9, [], 1458, false, "Zs8bGlrcYAo", "https://www.youtube.com/watch?v=Zs8bGlrcYAo", 18, "/downloads/shows/Claire Recreates/Season 2026/s2026e020400 - I Tried Making Homemade Whoppers | Claire Recreates.mkv", false, false, false, 1, ~U[2026-02-04 15:01:07Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "I Tried Making Homemade Whoppers | Claire Recreates\nIn this episode of Claire Recreates, Claire takes on a movie-theater and candy-aisle classic: Whoppers. Crunchy, airy, deeply malty, and coated in milk chocolate, Whoppers seem simple, but recreating that unmistakable texture from scratch turns out to be a real technical puzzle.\n\nClaire starts by breaking down the heart of the candy: the light, crisp malted center. She builds it from an Italian meringue made with whipped egg whites and a cooked sugar syrup, then folds in a carefully balanced malt mixture made from malted milk powder, barley malt flour, milk, salt, and leavening. The mixture is cooked, aerated, portioned into tiny spheres, and baked until dry, hollow, and shatter-crisp inside.\n\nOnce the centers are just right, Claire moves on to the chocolate. She coats each malted ball in smooth milk chocolate, dialing in the thickness and snap so it eats like the real thing, no waxy shortcuts, no shortcuts at all.\n\nAlong the way, Claire dives into what gives Whoppers their signature flavor, why malt is so nostalgic, and how industrial candy achieves that ultra-light crunch. She shares tips on sugar stages, drying vs. baking, and how small changes can completely alter the final texture.\n\n#clairesaffitz #whoppers #chocolate \n\nChapters\n00:00 Intro\n01:31 First impressions\n01:57 Reading the ingredients\n02:52 Taste test\n03:44 Measurements\n04:36 Game plan\n04:45 How To Make Whoppers\n17:34 Coat in tempered milk chocolate\n21:23 Comparison\n24:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Whoppers | Claire Recreates", 9, 1458, false, "Zs8bGlrcYAo", "https://www.youtube.com/watch?v=Zs8bGlrcYAo", "/downloads/shows/Claire Recreates/Season 2026/s2026e020400 - I Tried Making Homemade Whoppers | Claire Recreates.mkv", false, ~U[2026-02-04 15:01:07Z]] 12:47:42.272 [debug] QUERY OK source="sources" db=0.2ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:47:42.272 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-16 14:00:13Z], 9] 12:47:42.274 [debug] QUERY OK source="media_items" db=1.1ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, Claire Saffitz explores the iconic beverage, Coca-Cola. She delves into the ingredients and process behind making this classic soda. Watch as she attempts to recreate the distinctive taste of coke, offering insights into its composition and how to make a version at home. This episode is a deep dive into the world of cola and food science.\n\n#clairesaffitz #cocacola #homemade \n\n00:00 Intro\n02:11 Reading the Coca Cola Ingredients\n02:21 Observations\n08:02 Game plan\n08:21 How To Make Caramel\n12:12 Tinker\n29:25 How To Make Seltzer\n30:08 Comparison\n33:48 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Coca Cola | Claire Recreates", "192b4ac0-1b2c-4b56-bc54-f62bf189282d", 9, [], 2046, false, "9f3ZO4N0RC8", "https://www.youtube.com/watch?v=9f3ZO4N0RC8", 19, "/downloads/shows/Claire Recreates/Season 2026/s2026e031600 - I Tried Making Homemade Coca Cola | Claire Recreates.mkv", false, false, false, 1, ~U[2026-03-16 14:00:13Z], ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], "In this video, Claire Saffitz explores the iconic beverage, Coca-Cola. She delves into the ingredients and process behind making this classic soda. Watch as she attempts to recreate the distinctive taste of coke, offering insights into its composition and how to make a version at home. This episode is a deep dive into the world of cola and food science.\n\n#clairesaffitz #cocacola #homemade \n\n00:00 Intro\n02:11 Reading the Coca Cola Ingredients\n02:21 Observations\n08:02 Game plan\n08:21 How To Make Caramel\n12:12 Tinker\n29:25 How To Make Seltzer\n30:08 Comparison\n33:48 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Coca Cola | Claire Recreates", 9, 2046, false, "9f3ZO4N0RC8", "https://www.youtube.com/watch?v=9f3ZO4N0RC8", "/downloads/shows/Claire Recreates/Season 2026/s2026e031600 - I Tried Making Homemade Coca Cola | Claire Recreates.mkv", false, ~U[2026-03-16 14:00:13Z]] 12:47:42.275 [debug] QUERY OK source="sources" db=0.1ms idle=5.3ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z], 9] 12:47:42.276 [debug] QUERY OK source="media_items" db=0.8ms idle=3.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 12:47:42.276 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 12:47:42.277 [debug] QUERY OK source="media_items" db=0.1ms idle=3.9ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 12:47:42.278 [debug] QUERY OK source="tasks" db=0.2ms idle=2.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [4844, 9, ~U[2026-04-16 10:47:42Z], ~U[2026-04-16 10:47:42Z]] 12:47:42.278 [info] {"args":{"id":9},"id":4837,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":72712852,"event":"job:stop","queue_time":871346,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 12:48:00.285 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:00.392 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:48:30.286 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:00.287 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:00.393 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:49:30.288 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:00.289 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:00.394 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:50:30.290 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:00.291 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:00.395 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:51:30.292 [info] {"source":"oban","duration":972,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:00.294 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:00.397 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[4845]} 12:52:00.404 [info] {"args":{},"id":4845,"meta":{"cron":true,"cron_expr":"52 10 * * *","cron_tz":"Etc/UTC"},"system_time":1776336720404134428,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 12:52:00.404 [info] Updating yt-dlp 12:52:00.404 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 12:52:01.809 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 12:52:01.809 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 12:52:02.948 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 12:52:02.948 [debug] QUERY OK source="settings" db=0.2ms idle=1651.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:02.949 [info] {"args":{},"id":4845,"meta":{"cron":true,"cron_expr":"52 10 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":2544623,"event":"job:stop","queue_time":403388,"attempt":1,"tags":["local_data"]} 12:52:30.295 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:00.296 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:00.398 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:53:30.297 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:00.298 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:00.399 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:54:30.299 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:00.335 [info] {"source":"oban","duration":23304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:00.400 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:55:30.338 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:00.339 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:00.401 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:56:30.340 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:00.341 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:00.402 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:57:30.342 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:00.342 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:00.403 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:58:30.343 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:00.345 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:00.404 [info] {"source":"oban","duration":138,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:59:30.346 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:00.347 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:00.405 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:00:30.348 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:00.349 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:00.406 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:01:30.350 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:00.351 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:00.407 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:02:30.352 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:00.353 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:00.408 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:03:30.354 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:00.355 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:00.409 [info] {"source":"oban","duration":164,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:04:30.356 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:00.357 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:00.410 [info] {"source":"oban","duration":168,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:05:30.358 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:00.359 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:00.411 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:06:30.360 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:00.361 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:00.412 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:07:30.362 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:00.363 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:00.413 [info] {"source":"oban","duration":223,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:08:30.364 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:00.365 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:00.414 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:09:30.366 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:00.367 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:00.415 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:10:30.368 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:00.369 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:00.416 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:11:30.370 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:00.371 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:00.417 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:12:30.372 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:00.373 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:00.418 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:13:30.374 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:00.374 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:00.419 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:14:30.376 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:00.377 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:00.420 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:15:30.378 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:00.379 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:00.421 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:16:30.380 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:00.381 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:00.422 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:17:30.382 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:00.383 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:00.423 [info] {"source":"oban","duration":224,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:18:30.384 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:00.385 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:00.424 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:19:30.386 [info] {"source":"oban","duration":1203,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:00.388 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:00.425 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:20:30.389 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:00.390 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:00.426 [info] {"source":"oban","duration":166,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:21:30.391 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:00.392 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:00.427 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:22:30.393 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:00.394 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:00.428 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:23:30.395 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:00.396 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:00.429 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:24:30.397 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:00.398 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:00.430 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:25:30.399 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:00.400 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:00.431 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:26:30.401 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:00.402 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:00.432 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:27:30.403 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:00.404 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:00.433 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:28:30.408 [info] {"source":"oban","duration":3699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:00.409 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:00.434 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:29:30.410 [info] {"source":"oban","duration":1341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:00.412 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:00.435 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:30:30.413 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:00.414 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:00.436 [info] {"source":"oban","duration":155,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:31:30.415 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:00.416 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:00.437 [info] {"source":"oban","duration":217,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:32:30.417 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:00.418 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:00.438 [info] {"source":"oban","duration":128,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:33:30.419 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:00.420 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:00.439 [info] {"source":"oban","duration":151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:34:30.421 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:00.422 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:00.440 [info] {"source":"oban","duration":142,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:35:30.423 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:00.424 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:00.441 [info] {"source":"oban","duration":124,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:36:30.425 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:00.426 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:00.442 [info] {"source":"oban","duration":146,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:37:30.427 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:00.428 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:00.443 [info] {"source":"oban","duration":119,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:38:30.429 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:00.430 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:00.444 [info] {"source":"oban","duration":106,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:39:30.431 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:00.432 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:00.445 [info] {"source":"oban","duration":133,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:40:30.433 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:00.434 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:00.446 [info] {"source":"oban","duration":114,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:41:30.435 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:00.436 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:00.447 [info] {"source":"oban","duration":118,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:42:30.437 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:00.438 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:00.448 [info] {"source":"oban","duration":153,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:43:30.439 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:00.440 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:00.449 [info] {"source":"oban","duration":115,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:44:30.441 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:00.442 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:00.450 [info] {"source":"oban","duration":129,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:45:30.443 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:00.443 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:00.451 [info] {"source":"oban","duration":143,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:46:30.445 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:00.446 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:00.452 [info] {"source":"oban","duration":114,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:47:30.447 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:00.449 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:00.453 [info] {"source":"oban","duration":116,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:48:30.450 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:00.451 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:00.454 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:49:30.452 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:00.453 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:00.455 [info] {"source":"oban","duration":120,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:50:30.454 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:00.455 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:00.456 [info] {"source":"oban","duration":115,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:51:30.456 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.457 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.458 [info] {"source":"oban","duration":105,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:52:30.458 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:00.458 [info] {"source":"oban","duration":289,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:53:00.460 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:30.462 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:00.459 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:54:00.462 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:30.464 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:00.460 [info] {"source":"oban","duration":224,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:55:00.464 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:30.466 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:00.461 [info] {"source":"oban","duration":232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:56:00.466 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:30.468 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:00.462 [info] {"source":"oban","duration":231,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:57:00.468 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:30.470 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:00.463 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:58:00.471 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:30.472 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:00.464 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:59:00.473 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:30.474 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:00.465 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:00:00.475 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:30.476 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:00.466 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:01:00.476 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:30.478 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:00.467 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:02:00.478 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:30.479 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:00.468 [info] {"source":"oban","duration":298,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:03:00.481 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:30.482 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:00.469 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:04:00.483 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:30.484 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:00.470 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:05:00.485 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:30.486 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:00.471 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:06:00.486 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:30.488 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:00.472 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:07:00.489 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:30.490 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:00.473 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:08:00.492 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:30.493 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:00.474 [info] {"source":"oban","duration":227,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:09:00.493 [info] {"source":"oban","duration":596,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:30.495 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:00.475 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:10:00.496 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:30.497 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:00.476 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:11:00.498 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:30.499 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:00.477 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:12:00.500 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:30.501 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:00.478 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:13:00.501 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:30.503 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:49.167 [info] {"args":{"id":3},"id":4840,"meta":{},"system_time":1776341629167152015,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:13:49.167 [debug] QUERY OK source="sources" db=0.2ms idle=766.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:13:49.168 [debug] QUERY OK source="settings" db=0.3ms idle=767.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:49.169 [debug] QUERY OK source="media_items" db=0.8ms idle=768.0ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 14:13:49.170 [debug] QUERY OK source="media_items" db=0.6ms idle=9.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 14:13:49.170 [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] 14:13:49.171 [debug] QUERY OK source="settings" db=0.4ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:49.172 [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:13:49.172 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:13:49.172 [debug] Current batch of media processed. Will check again in 1000ms 14:13:49.173 [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:13:49.173 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:49.173 [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:13:49.173 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLQJc0AKwP-an6_0X-ZX9pzXAHn5pQXqTd --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Livet på gården/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+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/b8/39/b83925f36ac3d1f68ec6fec2f1259573c71a8046f1a0dbc904eec2d937e1bf0b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:50.173 [debug] Current batch of media processed. Will check again in 1000ms 14:13:51.174 [debug] Current batch of media processed. Will check again in 1000ms 14:13:52.175 [debug] Current batch of media processed. Will check again in 1000ms 14:13:53.176 [debug] Current batch of media processed. Will check again in 1000ms 14:13:54.177 [debug] Current batch of media processed. Will check again in 1000ms 14:13:55.178 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Sikke jeg har glædet mig til endelig at kunne dele denne rejse med jer. Vi er flyttet på landet! Jeg er tilbage på youtube og har taget hul på en ny begyndelse - mellem marker, dyr, og alt det andet som følger med at bo på landet. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "duration" => 1584, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e050900 - Rotter og høns på en rasteplads | Livet på gården Ep. 1.mp4", "id" => "0HQ2lA9SaEw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0HQ2lA9SaEw", "playlist_index" => 1, "timestamp" => 1715241600, "title" => "Rotter og høns på en rasteplads | Livet på gården Ep. 1", "upload_date" => "20240509"} 14:13:55.179 [debug] QUERY OK source="sources" db=0.1ms idle=778.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:13:55.179 [debug] QUERY OK source="sources" db=0.1ms idle=778.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:13:55.179 [debug] QUERY OK source="media_items" db=0.2ms idle=779.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-09 08:00:00Z], 3] 14:13:55.181 [debug] QUERY OK source="media_items" db=1.2ms idle=779.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sikke jeg har glædet mig til endelig at kunne dele denne rejse med jer. Vi er flyttet på landet! Jeg er tilbage på youtube og har taget hul på en ny begyndelse - mellem marker, dyr, og alt det andet som følger med at bo på landet. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Rotter og høns på en rasteplads | Livet på gården Ep. 1", "c609ad4e-72cf-4789-8605-7c86cc5dd5aa", 3, [], 1584, false, "0HQ2lA9SaEw", "https://www.youtube.com/watch?v=0HQ2lA9SaEw", 1, "/downloads/shows/Livet på gården/Season 2024/s2024e050900 - Rotter og høns på en rasteplads | Livet på gården Ep. 1.mp4", false, false, false, 1, ~U[2024-05-09 08:00:00Z], ~U[2026-04-16 12:13:55Z], ~U[2026-04-16 12:13:55Z], "Sikke jeg har glædet mig til endelig at kunne dele denne rejse med jer. Vi er flyttet på landet! Jeg er tilbage på youtube og har taget hul på en ny begyndelse - mellem marker, dyr, og alt det andet som følger med at bo på landet. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Rotter og høns på en rasteplads | Livet på gården Ep. 1", 3, 1584, false, "0HQ2lA9SaEw", "https://www.youtube.com/watch?v=0HQ2lA9SaEw", "/downloads/shows/Livet på gården/Season 2024/s2024e050900 - Rotter og høns på en rasteplads | Livet på gården Ep. 1.mp4", false, ~U[2024-05-09 08:00:00Z]] 14:13:55.182 [debug] QUERY OK source="sources" db=0.1ms idle=10.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:13:55.182 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:55.183 [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 [225] 14:13:55.183 [debug] Current batch of media processed. Will check again in 1000ms 14:13:56.184 [debug] Current batch of media processed. Will check again in 1000ms 14:13:57.185 [debug] Current batch of media processed. Will check again in 1000ms 14:13:58.186 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit henter vi vores hund Carla, begynder for alvor at pille huset fra hinanden og meget mere. Tak fordi du vil se med. Det betyder mere end du aner!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kriistinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "duration" => 1514, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e051600 - Vi får en hundehvalp | Livet på gården Ep. 2.mp4", "id" => "TsAkJcpR_Io", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TsAkJcpR_Io", "playlist_index" => 2, "timestamp" => 1715868032, "title" => "Vi får en hundehvalp | Livet på gården Ep. 2", "upload_date" => "20240516"} 14:13:58.187 [debug] QUERY OK source="sources" db=0.1ms idle=1786.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:13:58.187 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [3] 14:13:58.188 [debug] QUERY OK source="media_items" db=0.3ms idle=1787.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-16 14:00:32Z], 3] 14:13:58.189 [debug] QUERY OK source="media_items" db=0.8ms idle=1014.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit henter vi vores hund Carla, begynder for alvor at pille huset fra hinanden og meget mere. Tak fordi du vil se med. Det betyder mere end du aner!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kriistinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får en hundehvalp | Livet på gården Ep. 2", "714c4ea2-5569-4ce9-93d0-3b440266646a", 3, [], 1514, false, "TsAkJcpR_Io", "https://www.youtube.com/watch?v=TsAkJcpR_Io", 2, "/downloads/shows/Livet på gården/Season 2024/s2024e051600 - Vi får en hundehvalp | Livet på gården Ep. 2.mp4", false, false, false, 1, ~U[2024-05-16 14:00:32Z], ~U[2026-04-16 12:13:58Z], ~U[2026-04-16 12:13:58Z], "I dette afsnit henter vi vores hund Carla, begynder for alvor at pille huset fra hinanden og meget mere. Tak fordi du vil se med. Det betyder mere end du aner!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kriistinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får en hundehvalp | Livet på gården Ep. 2", 3, 1514, false, "TsAkJcpR_Io", "https://www.youtube.com/watch?v=TsAkJcpR_Io", "/downloads/shows/Livet på gården/Season 2024/s2024e051600 - Vi får en hundehvalp | Livet på gården Ep. 2.mp4", false, ~U[2024-05-16 14:00:32Z]] 14:13:58.189 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [3] 14:13:58.190 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:58.190 [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 [226] 14:13:58.191 [debug] Current batch of media processed. Will check again in 1000ms 14:13:59.191 [debug] Current batch of media processed. Will check again in 1000ms 14:14:00.192 [debug] Current batch of media processed. Will check again in 1000ms 14:14:00.479 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:14:00.504 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:01.193 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dagens afsnit er der mangel på overskud, og en hulens masse sand. Tak fordi du ser med \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "duration" => 1483, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e052300 - Vi graver ud i huset | Livet på gården Ep.3.mp4", "id" => "mzYiI1eVSe8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mzYiI1eVSe8", "playlist_index" => 3, "timestamp" => 1716472844, "title" => "Vi graver ud i huset | Livet på gården Ep.3", "upload_date" => "20240523"} 14:14:01.194 [debug] QUERY OK source="sources" db=0.2ms idle=1793.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:01.194 [debug] QUERY OK source="sources" db=0.1ms idle=1017.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:01.195 [debug] QUERY OK source="media_items" db=0.4ms idle=715.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-23 14:00:44Z], 3] 14:14:01.196 [debug] QUERY OK source="media_items" db=0.7ms idle=691.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dagens afsnit er der mangel på overskud, og en hulens masse sand. Tak fordi du ser med \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi graver ud i huset | Livet på gården Ep.3", "53df54d2-6ba2-435f-bd1a-d5a058dd9b74", 3, [], 1483, false, "mzYiI1eVSe8", "https://www.youtube.com/watch?v=mzYiI1eVSe8", 3, "/downloads/shows/Livet på gården/Season 2024/s2024e052300 - Vi graver ud i huset | Livet på gården Ep.3.mp4", false, false, false, 1, ~U[2024-05-23 14:00:44Z], ~U[2026-04-16 12:14:01Z], ~U[2026-04-16 12:14:01Z], "I dagens afsnit er der mangel på overskud, og en hulens masse sand. Tak fordi du ser med \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi graver ud i huset | Livet på gården Ep.3", 3, 1483, false, "mzYiI1eVSe8", "https://www.youtube.com/watch?v=mzYiI1eVSe8", "/downloads/shows/Livet på gården/Season 2024/s2024e052300 - Vi graver ud i huset | Livet på gården Ep.3.mp4", false, ~U[2024-05-23 14:00:44Z]] 14:14:01.196 [debug] QUERY OK source="sources" db=0.2ms idle=18.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:01.197 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:01.197 [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 [227] 14:14:01.198 [debug] Current batch of media processed. Will check again in 1000ms 14:14:02.198 [debug] Current batch of media processed. Will check again in 1000ms 14:14:03.199 [debug] Current batch of media processed. Will check again in 1000ms 14:14:04.200 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dagens afsnit bryder en hest ind i den lille ladelejlighed, der har været ubehageligt besøg i hønsehuset og så er der for alvor kommet gang i køkkenhaven. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "duration" => 2520, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e053000 - En hest i stuen og døde høns | Livet på gården Ep. 4.mp4", "id" => "0jEgoy_T4E4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0jEgoy_T4E4", "playlist_index" => 4, "timestamp" => 1717077602, "title" => "En hest i stuen og døde høns | Livet på gården Ep. 4", "upload_date" => "20240530"} 14:14:04.201 [debug] QUERY OK source="sources" db=0.2ms idle=1800.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:04.201 [debug] QUERY OK source="sources" db=0.1ms idle=1801.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:04.202 [debug] QUERY OK source="media_items" db=0.5ms idle=1801.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-30 14:00:02Z], 3] 14:14:04.204 [debug] QUERY OK source="media_items" db=0.9ms idle=1022.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dagens afsnit bryder en hest ind i den lille ladelejlighed, der har været ubehageligt besøg i hønsehuset og så er der for alvor kommet gang i køkkenhaven. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "En hest i stuen og døde høns | Livet på gården Ep. 4", "3a682fd4-b9a2-475d-b1aa-9a3282ccdf2d", 3, [], 2520, false, "0jEgoy_T4E4", "https://www.youtube.com/watch?v=0jEgoy_T4E4", 4, "/downloads/shows/Livet på gården/Season 2024/s2024e053000 - En hest i stuen og døde høns | Livet på gården Ep. 4.mp4", false, false, false, 1, ~U[2024-05-30 14:00:02Z], ~U[2026-04-16 12:14:04Z], ~U[2026-04-16 12:14:04Z], "I dagens afsnit bryder en hest ind i den lille ladelejlighed, der har været ubehageligt besøg i hønsehuset og så er der for alvor kommet gang i køkkenhaven. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "En hest i stuen og døde høns | Livet på gården Ep. 4", 3, 2520, false, "0jEgoy_T4E4", "https://www.youtube.com/watch?v=0jEgoy_T4E4", "/downloads/shows/Livet på gården/Season 2024/s2024e053000 - En hest i stuen og døde høns | Livet på gården Ep. 4.mp4", false, ~U[2024-05-30 14:00:02Z]] 14:14:04.204 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [3] 14:14:04.205 [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] 14:14:04.206 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [228] 14:14:04.206 [debug] Current batch of media processed. Will check again in 1000ms 14:14:05.206 [debug] Current batch of media processed. Will check again in 1000ms 14:14:06.207 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit får vores høne Karen kyllinger, vi renoverer stadig derudaf og så får vi leveret køkken. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "duration" => 2357, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e060600 - Vi får kyllinger og køkken | Livet på gården Ep.5.mp4", "id" => "w_MEeum-cxQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=w_MEeum-cxQ", "playlist_index" => 5, "timestamp" => 1717682457, "title" => "Vi får kyllinger og køkken | Livet på gården Ep.5", "upload_date" => "20240606"} 14:14:06.208 [debug] QUERY OK source="sources" db=0.2ms idle=807.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:06.208 [debug] QUERY OK source="sources" db=0.1ms idle=807.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:06.209 [debug] QUERY OK source="media_items" db=0.3ms idle=808.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-06 14:00:57Z], 3] 14:14:06.210 [debug] QUERY OK source="media_items" db=0.8ms idle=808.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit får vores høne Karen kyllinger, vi renoverer stadig derudaf og så får vi leveret køkken. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får kyllinger og køkken | Livet på gården Ep.5", "5a608e70-ad46-4a56-bae4-d68049a10b4d", 3, [], 2357, false, "w_MEeum-cxQ", "https://www.youtube.com/watch?v=w_MEeum-cxQ", 5, "/downloads/shows/Livet på gården/Season 2024/s2024e060600 - Vi får kyllinger og køkken | Livet på gården Ep.5.mp4", false, false, false, 1, ~U[2024-06-06 14:00:57Z], ~U[2026-04-16 12:14:06Z], ~U[2026-04-16 12:14:06Z], "I dette afsnit får vores høne Karen kyllinger, vi renoverer stadig derudaf og så får vi leveret køkken. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får kyllinger og køkken | Livet på gården Ep.5", 3, 2357, false, "w_MEeum-cxQ", "https://www.youtube.com/watch?v=w_MEeum-cxQ", "/downloads/shows/Livet på gården/Season 2024/s2024e060600 - Vi får kyllinger og køkken | Livet på gården Ep.5.mp4", false, ~U[2024-06-06 14:00:57Z]] 14:14:06.210 [debug] QUERY OK source="sources" db=0.2ms idle=26.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:06.211 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:06.212 [debug] QUERY OK source="media_items" db=0.3ms 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 [229] 14:14:06.212 [debug] Current batch of media processed. Will check again in 1000ms 14:14:07.214 [debug] Current batch of media processed. Will check again in 1000ms 14:14:08.215 [debug] Current batch of media processed. Will check again in 1000ms 14:14:09.216 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode kan man roligt sige at der er kaos på gården. Midt i renoveringen får vi besøg af flere millioner blodmider, som er ved at suge blod fra alle hønsene. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1911, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e061300 - Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6.mp4", "id" => "LgpqgWbzuiM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LgpqgWbzuiM", "playlist_index" => 6, "timestamp" => 1718287214, "title" => "Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6", "upload_date" => "20240613"} 14:14:09.217 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1816.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:09.217 [debug] QUERY OK source="sources" db=0.1ms idle=1817.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:09.219 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=1817.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-13 14:00:14Z], 3] 14:14:09.221 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=1032.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode kan man roligt sige at der er kaos på gården. Midt i renoveringen får vi besøg af flere millioner blodmider, som er ved at suge blod fra alle hønsene. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6", "084a8b78-3dd4-4dd9-b0fd-5f6c0ad2da86", 3, [], 1911, false, "LgpqgWbzuiM", "https://www.youtube.com/watch?v=LgpqgWbzuiM", 6, "/downloads/shows/Livet på gården/Season 2024/s2024e061300 - Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6.mp4", false, false, false, 1, ~U[2024-06-13 14:00:14Z], ~U[2026-04-16 12:14:09Z], ~U[2026-04-16 12:14:09Z], "I denne episode kan man roligt sige at der er kaos på gården. Midt i renoveringen får vi besøg af flere millioner blodmider, som er ved at suge blod fra alle hønsene. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6", 3, 1911, false, "LgpqgWbzuiM", "https://www.youtube.com/watch?v=LgpqgWbzuiM", "/downloads/shows/Livet på gården/Season 2024/s2024e061300 - Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6.mp4", false, ~U[2024-06-13 14:00:14Z]] 14:14:09.222 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=32.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:09.222 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:09.223 [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 [230] 14:14:09.223 [debug] Current batch of media processed. Will check again in 1000ms 14:14:10.224 [debug] Current batch of media processed. Will check again in 1000ms 14:14:11.225 [debug] Current batch of media processed. Will check again in 1000ms 14:14:12.226 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er der mere kaos, både da vores heste stikker af om natten og en meget tung bordplade skal på plads. Og så er Mikkel udkørt. Meget udkørt.\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "duration" => 1808, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e062000 - Vores heste stikker af | Livet på gården Ep. 7.mp4", "id" => "tPMYODqzWfI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tPMYODqzWfI", "playlist_index" => 7, "timestamp" => 1718892044, "title" => "Vores heste stikker af | Livet på gården Ep. 7", "upload_date" => "20240620"} 14:14:12.227 [debug] QUERY OK source="sources" db=0.2ms 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" IN (?)) [3] 14:14:12.227 [debug] QUERY OK source="sources" db=0.1ms idle=1806.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:12.228 [debug] QUERY OK source="media_items" db=0.3ms idle=1807.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-20 14:00:44Z], 3] 14:14:12.229 [debug] QUERY OK source="media_items" db=0.7ms idle=1036.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der mere kaos, både da vores heste stikker af om natten og en meget tung bordplade skal på plads. Og så er Mikkel udkørt. Meget udkørt.\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vores heste stikker af | Livet på gården Ep. 7", "6d4a0850-8f9c-401c-b6af-46226682892b", 3, [], 1808, false, "tPMYODqzWfI", "https://www.youtube.com/watch?v=tPMYODqzWfI", 7, "/downloads/shows/Livet på gården/Season 2024/s2024e062000 - Vores heste stikker af | Livet på gården Ep. 7.mp4", false, false, false, 1, ~U[2024-06-20 14:00:44Z], ~U[2026-04-16 12:14:12Z], ~U[2026-04-16 12:14:12Z], "I dette afsnit er der mere kaos, både da vores heste stikker af om natten og en meget tung bordplade skal på plads. Og så er Mikkel udkørt. Meget udkørt.\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vores heste stikker af | Livet på gården Ep. 7", 3, 1808, false, "tPMYODqzWfI", "https://www.youtube.com/watch?v=tPMYODqzWfI", "/downloads/shows/Livet på gården/Season 2024/s2024e062000 - Vores heste stikker af | Livet på gården Ep. 7.mp4", false, ~U[2024-06-20 14:00:44Z]] 14:14:12.229 [debug] QUERY OK source="sources" db=0.1ms idle=36.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:12.230 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:12.230 [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 [231] 14:14:12.230 [debug] Current batch of media processed. Will check again in 1000ms 14:14:13.231 [debug] Current batch of media processed. Will check again in 1000ms 14:14:14.232 [debug] Current batch of media processed. Will check again in 1000ms 14:14:15.233 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er der vand OVERALT, heste flytter hjemmefra og så får vi virkelig rykket på sager i huset - hvilket er meget tiltrængt, da vinteren nærmer sig med hastige skridt. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "duration" => 2043, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e062700 - Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8.mp4", "id" => "5w4Zkb-V2fE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5w4Zkb-V2fE", "playlist_index" => 8, "timestamp" => 1719496803, "title" => "Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8", "upload_date" => "20240627"} 14:14:15.234 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1813.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:15.234 [debug] QUERY OK source="sources" db=0.1ms idle=1814.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:15.235 [debug] QUERY OK source="media_items" db=0.4ms idle=1814.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-27 14:00:03Z], 3] 14:14:15.236 [debug] QUERY OK source="media_items" db=0.8ms idle=1039.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der vand OVERALT, heste flytter hjemmefra og så får vi virkelig rykket på sager i huset - hvilket er meget tiltrængt, da vinteren nærmer sig med hastige skridt. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8", "0409a4ce-edb5-4ffe-bf92-2d0187dfceef", 3, [], 2043, false, "5w4Zkb-V2fE", "https://www.youtube.com/watch?v=5w4Zkb-V2fE", 8, "/downloads/shows/Livet på gården/Season 2024/s2024e062700 - Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8.mp4", false, false, false, 1, ~U[2024-06-27 14:00:03Z], ~U[2026-04-16 12:14:15Z], ~U[2026-04-16 12:14:15Z], "I dette afsnit er der vand OVERALT, heste flytter hjemmefra og så får vi virkelig rykket på sager i huset - hvilket er meget tiltrængt, da vinteren nærmer sig med hastige skridt. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8", 3, 2043, false, "5w4Zkb-V2fE", "https://www.youtube.com/watch?v=5w4Zkb-V2fE", "/downloads/shows/Livet på gården/Season 2024/s2024e062700 - Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8.mp4", false, ~U[2024-06-27 14:00:03Z]] 14:14:15.237 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=39.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:15.237 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:15.238 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [232] 14:14:15.238 [debug] Current batch of media processed. Will check again in 1000ms 14:14:16.240 [debug] Current batch of media processed. Will check again in 1000ms 14:14:17.241 [debug] Current batch of media processed. Will check again in 1000ms 14:14:18.242 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit runder vi har for denne gang, flytter ind i huset og viser rundt.\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "duration" => 2059, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e070400 - House tour | Livet på gården Ep. 9.mp4", "id" => "KotEK3OaF80", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KotEK3OaF80", "playlist_index" => 9, "timestamp" => 1720101614, "title" => "House tour | Livet på gården Ep. 9", "upload_date" => "20240704"} 14:14:18.243 [debug] QUERY OK source="sources" db=0.1ms idle=1822.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:18.243 [debug] QUERY OK source="sources" db=0.1ms idle=1822.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:18.244 [debug] QUERY OK source="media_items" db=0.3ms idle=1823.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-04 14:00:14Z], 3] 14:14:18.245 [debug] QUERY OK source="media_items" db=0.7ms idle=1045.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit runder vi har for denne gang, flytter ind i huset og viser rundt.\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "House tour | Livet på gården Ep. 9", "6f017ea9-1486-4137-b265-dea41c2b2a6a", 3, [], 2059, false, "KotEK3OaF80", "https://www.youtube.com/watch?v=KotEK3OaF80", 9, "/downloads/shows/Livet på gården/Season 2024/s2024e070400 - House tour | Livet på gården Ep. 9.mp4", false, false, false, 1, ~U[2024-07-04 14:00:14Z], ~U[2026-04-16 12:14:18Z], ~U[2026-04-16 12:14:18Z], "I dette afsnit runder vi har for denne gang, flytter ind i huset og viser rundt.\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "House tour | Livet på gården Ep. 9", 3, 2059, false, "KotEK3OaF80", "https://www.youtube.com/watch?v=KotEK3OaF80", "/downloads/shows/Livet på gården/Season 2024/s2024e070400 - House tour | Livet på gården Ep. 9.mp4", false, ~U[2024-07-04 14:00:14Z]] 14:14:18.245 [debug] QUERY OK source="sources" db=0.1ms idle=45.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:18.246 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:18.246 [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 [233] 14:14:18.246 [debug] Current batch of media processed. Will check again in 1000ms 14:14:19.247 [debug] Current batch of media processed. Will check again in 1000ms 14:14:20.248 [debug] Current batch of media processed. Will check again in 1000ms 14:14:21.249 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit har vi desværre haft besøg af måren som har taget liv af næsten alle vores høns, jeg udruger kyllinger i rugemaskine og så er der så småt ved at være gang i haven i det tidlige forår. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1462, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e071800 - Måren har dræbt vores høns | Livet på gården Ep. 10.mp4", "id" => "ACbhu-bCkCs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ACbhu-bCkCs", "playlist_index" => 10, "timestamp" => 1721311209, "title" => "Måren har dræbt vores høns | Livet på gården Ep. 10", "upload_date" => "20240718"} 14:14:21.250 [debug] QUERY OK source="sources" db=0.3ms idle=1829.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:21.251 [debug] QUERY OK source="sources" db=0.2ms queue=0.3ms idle=1830.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:21.252 [debug] QUERY OK source="media_items" db=0.9ms idle=1830.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-18 14:00:09Z], 3] 14:14:21.254 [debug] QUERY OK source="media_items" db=1.2ms idle=1050.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har vi desværre haft besøg af måren som har taget liv af næsten alle vores høns, jeg udruger kyllinger i rugemaskine og så er der så småt ved at være gang i haven i det tidlige forår. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Måren har dræbt vores høns | Livet på gården Ep. 10", "63eeaa6d-11dd-48b1-8a06-58edfeb1476f", 3, [], 1462, false, "ACbhu-bCkCs", "https://www.youtube.com/watch?v=ACbhu-bCkCs", 10, "/downloads/shows/Livet på gården/Season 2024/s2024e071800 - Måren har dræbt vores høns | Livet på gården Ep. 10.mp4", false, false, false, 1, ~U[2024-07-18 14:00:09Z], ~U[2026-04-16 12:14:21Z], ~U[2026-04-16 12:14:21Z], "I dette afsnit har vi desværre haft besøg af måren som har taget liv af næsten alle vores høns, jeg udruger kyllinger i rugemaskine og så er der så småt ved at være gang i haven i det tidlige forår. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Måren har dræbt vores høns | Livet på gården Ep. 10", 3, 1462, false, "ACbhu-bCkCs", "https://www.youtube.com/watch?v=ACbhu-bCkCs", "/downloads/shows/Livet på gården/Season 2024/s2024e071800 - Måren har dræbt vores høns | Livet på gården Ep. 10.mp4", false, ~U[2024-07-18 14:00:09Z]] 14:14:21.254 [debug] QUERY OK source="sources" db=0.2ms idle=51.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:21.255 [debug] QUERY OK source="media_profiles" db=0.5ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:21.256 [debug] QUERY OK source="media_items" db=0.6ms 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 [234] 14:14:21.256 [debug] Current batch of media processed. Will check again in 1000ms 14:14:22.257 [debug] Current batch of media processed. Will check again in 1000ms 14:14:23.258 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit står hønsehuset endelig færdigt og der flytter nye damer ind i gården. Der er ogs fuld fart på rugemaskinen, dog med dårligt held. Og så er vi ved at gøre haven klar til sæsonen. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1666, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e072500 - Nye høns og havearbejde | Livet på gården Ep. 11.mp4", "id" => "Sk2CUC0pUsw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Sk2CUC0pUsw", "playlist_index" => 11, "timestamp" => 1721916021, "title" => "Nye høns og havearbejde | Livet på gården Ep. 11", "upload_date" => "20240725"} 14:14:23.259 [debug] QUERY OK source="sources" db=0.2ms idle=838.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:23.259 [debug] QUERY OK source="sources" db=0.1ms idle=838.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:23.260 [debug] QUERY OK source="media_items" db=0.3ms idle=839.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-25 14:00:21Z], 3] 14:14:23.261 [debug] QUERY OK source="media_items" db=0.7ms idle=839.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit står hønsehuset endelig færdigt og der flytter nye damer ind i gården. Der er ogs fuld fart på rugemaskinen, dog med dårligt held. Og så er vi ved at gøre haven klar til sæsonen. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nye høns og havearbejde | Livet på gården Ep. 11", "8835d8cd-cca6-450b-b974-06649018d971", 3, [], 1666, false, "Sk2CUC0pUsw", "https://www.youtube.com/watch?v=Sk2CUC0pUsw", 11, "/downloads/shows/Livet på gården/Season 2024/s2024e072500 - Nye høns og havearbejde | Livet på gården Ep. 11.mp4", false, false, false, 1, ~U[2024-07-25 14:00:21Z], ~U[2026-04-16 12:14:23Z], ~U[2026-04-16 12:14:23Z], "I dette afsnit står hønsehuset endelig færdigt og der flytter nye damer ind i gården. Der er ogs fuld fart på rugemaskinen, dog med dårligt held. Og så er vi ved at gøre haven klar til sæsonen. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nye høns og havearbejde | Livet på gården Ep. 11", 3, 1666, false, "Sk2CUC0pUsw", "https://www.youtube.com/watch?v=Sk2CUC0pUsw", "/downloads/shows/Livet på gården/Season 2024/s2024e072500 - Nye høns og havearbejde | Livet på gården Ep. 11.mp4", false, ~U[2024-07-25 14:00:21Z]] 14:14:23.261 [debug] QUERY OK source="sources" db=0.1ms idle=55.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:23.262 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:23.262 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [235] 14:14:23.262 [debug] Current batch of media processed. Will check again in 1000ms 14:14:24.263 [debug] Current batch of media processed. Will check again in 1000ms 14:14:25.264 [debug] Current batch of media processed. Will check again in 1000ms 14:14:26.265 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video har jeg fuld gang i forspiringen, vi laver højbede og har taget en stor beslutning omkring vores 2 heste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1747, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e080100 - Heste og højbede | Livet på gården Ep. 12.mp4", "id" => "npE-BTzFMWc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=npE-BTzFMWc", "playlist_index" => 12, "timestamp" => 1722520842, "title" => "Heste og højbede | Livet på gården Ep. 12", "upload_date" => "20240801"} 14:14:26.266 [debug] QUERY OK source="sources" db=0.3ms idle=1845.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:26.266 [debug] QUERY OK source="sources" db=0.1ms idle=1845.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:26.267 [debug] QUERY OK source="media_items" db=0.3ms idle=1846.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-01 14:00:42Z], 3] 14:14:26.268 [debug] QUERY OK source="media_items" db=0.6ms idle=1058.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har jeg fuld gang i forspiringen, vi laver højbede og har taget en stor beslutning omkring vores 2 heste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Heste og højbede | Livet på gården Ep. 12", "23fd55bc-d21f-43ab-bffd-e7e8370720cb", 3, [], 1747, false, "npE-BTzFMWc", "https://www.youtube.com/watch?v=npE-BTzFMWc", 12, "/downloads/shows/Livet på gården/Season 2024/s2024e080100 - Heste og højbede | Livet på gården Ep. 12.mp4", false, false, false, 1, ~U[2024-08-01 14:00:42Z], ~U[2026-04-16 12:14:26Z], ~U[2026-04-16 12:14:26Z], "I denne video har jeg fuld gang i forspiringen, vi laver højbede og har taget en stor beslutning omkring vores 2 heste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Heste og højbede | Livet på gården Ep. 12", 3, 1747, false, "npE-BTzFMWc", "https://www.youtube.com/watch?v=npE-BTzFMWc", "/downloads/shows/Livet på gården/Season 2024/s2024e080100 - Heste og højbede | Livet på gården Ep. 12.mp4", false, ~U[2024-08-01 14:00:42Z]] 14:14:26.268 [debug] QUERY OK source="sources" db=0.1ms idle=58.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:26.269 [debug] QUERY OK source="media_profiles" db=0.8ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:26.270 [debug] QUERY OK source="media_items" db=0.3ms 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 [236] 14:14:26.270 [debug] Current batch of media processed. Will check again in 1000ms 14:14:27.271 [debug] Current batch of media processed. Will check again in 1000ms 14:14:28.272 [debug] Current batch of media processed. Will check again in 1000ms 14:14:29.273 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit har vi taget en stor beslutning om at der skal flytte nye firebenede ind på marken, og vores kat Willy har kræft i øjet - og får det fjernet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1645, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e080800 - Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13.mp4", "id" => "mBkf-1EFsdE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mBkf-1EFsdE", "playlist_index" => 13, "timestamp" => 1723125644, "title" => "Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13", "upload_date" => "20240808"} 14:14:29.274 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1853.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:29.274 [debug] QUERY OK source="sources" db=0.2ms idle=1854.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:29.276 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=1854.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-08 14:00:44Z], 3] 14:14:29.287 [debug] QUERY OK source="media_items" db=11.2ms idle=1063.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har vi taget en stor beslutning om at der skal flytte nye firebenede ind på marken, og vores kat Willy har kræft i øjet - og får det fjernet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13", "941fa357-81d8-4aa6-870e-d060640d96a1", 3, [], 1645, false, "mBkf-1EFsdE", "https://www.youtube.com/watch?v=mBkf-1EFsdE", 13, "/downloads/shows/Livet på gården/Season 2024/s2024e080800 - Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13.mp4", false, false, false, 1, ~U[2024-08-08 14:00:44Z], ~U[2026-04-16 12:14:29Z], ~U[2026-04-16 12:14:29Z], "I dette afsnit har vi taget en stor beslutning om at der skal flytte nye firebenede ind på marken, og vores kat Willy har kræft i øjet - og får det fjernet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13", 3, 1645, false, "mBkf-1EFsdE", "https://www.youtube.com/watch?v=mBkf-1EFsdE", "/downloads/shows/Livet på gården/Season 2024/s2024e080800 - Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13.mp4", false, ~U[2024-08-08 14:00:44Z]] 14:14:29.288 [debug] QUERY OK source="sources" db=0.2ms idle=73.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:29.288 [debug] QUERY OK source="media_profiles" db=0.1ms idle=14.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:29.289 [debug] QUERY OK source="media_items" db=0.2ms idle=14.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [237] 14:14:29.289 [debug] Current batch of media processed. Will check again in 1000ms 14:14:30.290 [debug] Current batch of media processed. Will check again in 1000ms 14:14:30.505 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:31.291 [debug] Current batch of media processed. Will check again in 1000ms 14:14:32.292 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit får vi endelig grise, Felix er på besøg og jeg har nogle lidt svære dage. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1651, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e081500 - VI HAR FÅET GRISE! | Livet på gården Ep. 14.mp4", "id" => "EKIo-bTmT5I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EKIo-bTmT5I", "playlist_index" => 14, "timestamp" => 1723730416, "title" => "VI HAR FÅET GRISE! | Livet på gården Ep. 14", "upload_date" => "20240815"} 14:14:32.293 [debug] QUERY OK source="sources" db=0.3ms idle=1872.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:32.294 [debug] QUERY OK source="sources" db=0.3ms idle=1873.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:32.294 [debug] QUERY OK source="media_items" db=0.4ms idle=1788.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-15 14:00:16Z], 3] 14:14:32.297 [debug] QUERY OK source="media_items" db=2.6ms idle=1078.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit får vi endelig grise, Felix er på besøg og jeg har nogle lidt svære dage. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "VI HAR FÅET GRISE! | Livet på gården Ep. 14", "e70f6eef-f6b7-441e-a0ac-94de429d6a9a", 3, [], 1651, false, "EKIo-bTmT5I", "https://www.youtube.com/watch?v=EKIo-bTmT5I", 14, "/downloads/shows/Livet på gården/Season 2024/s2024e081500 - VI HAR FÅET GRISE! | Livet på gården Ep. 14.mp4", false, false, false, 1, ~U[2024-08-15 14:00:16Z], ~U[2026-04-16 12:14:32Z], ~U[2026-04-16 12:14:32Z], "I dette afsnit får vi endelig grise, Felix er på besøg og jeg har nogle lidt svære dage. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "VI HAR FÅET GRISE! | Livet på gården Ep. 14", 3, 1651, false, "EKIo-bTmT5I", "https://www.youtube.com/watch?v=EKIo-bTmT5I", "/downloads/shows/Livet på gården/Season 2024/s2024e081500 - VI HAR FÅET GRISE! | Livet på gården Ep. 14.mp4", false, ~U[2024-08-15 14:00:16Z]] 14:14:32.298 [debug] QUERY OK source="sources" db=0.4ms idle=80.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:32.299 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:32.300 [debug] QUERY OK source="media_items" db=0.5ms 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 [238] 14:14:32.300 [debug] Current batch of media processed. Will check again in 1000ms 14:14:33.301 [debug] Current batch of media processed. Will check again in 1000ms 14:14:34.302 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video har jeg nogle dårlige dage, jeg taler om mine diagnose, og så er der kommet godt gang i køkkenhaven - og dræbersneglene. Derudover må jeg tage livet af en kylling, fordi de andre er nogle bæster. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1505, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e082200 - Diagnose og dræbersnegle | Livet på gården Ep. 15.mp4", "id" => "tVgdZ9ycitU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tVgdZ9ycitU", "playlist_index" => 15, "timestamp" => 1724335253, "title" => "Diagnose og dræbersnegle | Livet på gården Ep. 15", "upload_date" => "20240822"} 14:14:34.303 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=882.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:34.304 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=883.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:34.304 [debug] QUERY OK source="media_items" db=0.3ms idle=883.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-22 14:00:53Z], 3] 14:14:34.305 [debug] QUERY OK source="media_items" db=0.7ms idle=884.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har jeg nogle dårlige dage, jeg taler om mine diagnose, og så er der kommet godt gang i køkkenhaven - og dræbersneglene. Derudover må jeg tage livet af en kylling, fordi de andre er nogle bæster. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Diagnose og dræbersnegle | Livet på gården Ep. 15", "3f4366b7-b461-41e5-a486-3a216971164b", 3, [], 1505, false, "tVgdZ9ycitU", "https://www.youtube.com/watch?v=tVgdZ9ycitU", 15, "/downloads/shows/Livet på gården/Season 2024/s2024e082200 - Diagnose og dræbersnegle | Livet på gården Ep. 15.mp4", false, false, false, 1, ~U[2024-08-22 14:00:53Z], ~U[2026-04-16 12:14:34Z], ~U[2026-04-16 12:14:34Z], "I denne video har jeg nogle dårlige dage, jeg taler om mine diagnose, og så er der kommet godt gang i køkkenhaven - og dræbersneglene. Derudover må jeg tage livet af en kylling, fordi de andre er nogle bæster. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Diagnose og dræbersnegle | Livet på gården Ep. 15", 3, 1505, false, "tVgdZ9ycitU", "https://www.youtube.com/watch?v=tVgdZ9ycitU", "/downloads/shows/Livet på gården/Season 2024/s2024e082200 - Diagnose og dræbersnegle | Livet på gården Ep. 15.mp4", false, ~U[2024-08-22 14:00:53Z]] 14:14:34.306 [debug] QUERY OK source="sources" db=0.2ms idle=86.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:34.306 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:34.307 [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 [239] 14:14:34.307 [debug] Current batch of media processed. Will check again in 1000ms 14:14:35.308 [debug] Current batch of media processed. Will check again in 1000ms 14:14:36.309 [debug] Current batch of media processed. Will check again in 1000ms 14:14:37.310 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit kommer der 5 nye liv til verden, når Connie føder sine små griseunger, vi gør klar til sankt hans og så har vi fået et nyt projekt, nemlig at renovere det gamle fyrrum om til keramikværksted.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1871, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e082900 - Grisefødsel og sankt hans på gården | Livet på gården Ep. 16.mp4", "id" => "X-mJfUiB8oE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=X-mJfUiB8oE", "playlist_index" => 16, "timestamp" => 1724940026, "title" => "Grisefødsel og sankt hans på gården | Livet på gården Ep. 16", "upload_date" => "20240829"} 14:14:37.311 [debug] QUERY OK source="sources" db=0.2ms idle=1890.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:37.311 [debug] QUERY OK source="sources" db=0.1ms idle=1890.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:37.312 [debug] QUERY OK source="media_items" db=0.3ms idle=1891.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-29 14:00:26Z], 3] 14:14:37.313 [debug] QUERY OK source="media_items" db=0.8ms idle=1091.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer der 5 nye liv til verden, når Connie føder sine små griseunger, vi gør klar til sankt hans og så har vi fået et nyt projekt, nemlig at renovere det gamle fyrrum om til keramikværksted.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Grisefødsel og sankt hans på gården | Livet på gården Ep. 16", "6220cc9d-d8fc-4af4-9c9f-531a8ab9b0a4", 3, [], 1871, false, "X-mJfUiB8oE", "https://www.youtube.com/watch?v=X-mJfUiB8oE", 16, "/downloads/shows/Livet på gården/Season 2024/s2024e082900 - Grisefødsel og sankt hans på gården | Livet på gården Ep. 16.mp4", false, false, false, 1, ~U[2024-08-29 14:00:26Z], ~U[2026-04-16 12:14:37Z], ~U[2026-04-16 12:14:37Z], "I dette afsnit kommer der 5 nye liv til verden, når Connie føder sine små griseunger, vi gør klar til sankt hans og så har vi fået et nyt projekt, nemlig at renovere det gamle fyrrum om til keramikværksted.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Grisefødsel og sankt hans på gården | Livet på gården Ep. 16", 3, 1871, false, "X-mJfUiB8oE", "https://www.youtube.com/watch?v=X-mJfUiB8oE", "/downloads/shows/Livet på gården/Season 2024/s2024e082900 - Grisefødsel og sankt hans på gården | Livet på gården Ep. 16.mp4", false, ~U[2024-08-29 14:00:26Z]] 14:14:37.314 [debug] QUERY OK source="sources" db=0.2ms idle=91.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:37.314 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:37.314 [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 [240] 14:14:37.315 [debug] Current batch of media processed. Will check again in 1000ms 14:14:38.315 [debug] Current batch of media processed. Will check again in 1000ms 14:14:39.316 [debug] Current batch of media processed. Will check again in 1000ms 14:14:40.317 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit sætter jeg mit keramik til salg for anden gang, med kæmpe sommerfugle i maven, jeg kører akut hjem fra en fødselsdag fordi det ligner at Helle er ved at føde - og så starter vi renoveringen af det nye værksted!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1643, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e091900 - Keramiksalg og nyt værksted | Livet på gården Ep. 19.mp4", "id" => "ACPmnpI3fvU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ACPmnpI3fvU", "playlist_index" => 17, "timestamp" => 1726754408, "title" => "Keramiksalg og nyt værksted | Livet på gården Ep. 19", "upload_date" => "20240919"} 14:14:40.318 [debug] QUERY OK source="sources" db=0.2ms idle=1897.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:40.318 [debug] QUERY OK source="sources" db=0.1ms idle=1897.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:40.319 [debug] QUERY OK source="media_items" db=0.3ms idle=1898.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-19 14:00:08Z], 3] 14:14:40.320 [debug] QUERY OK source="media_items" db=0.7ms idle=1088.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit sætter jeg mit keramik til salg for anden gang, med kæmpe sommerfugle i maven, jeg kører akut hjem fra en fødselsdag fordi det ligner at Helle er ved at føde - og så starter vi renoveringen af det nye værksted!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Keramiksalg og nyt værksted | Livet på gården Ep. 19", "b967f007-9b98-4a4c-b167-8b1b41fef5f1", 3, [], 1643, false, "ACPmnpI3fvU", "https://www.youtube.com/watch?v=ACPmnpI3fvU", 17, "/downloads/shows/Livet på gården/Season 2024/s2024e091900 - Keramiksalg og nyt værksted | Livet på gården Ep. 19.mp4", false, false, false, 1, ~U[2024-09-19 14:00:08Z], ~U[2026-04-16 12:14:40Z], ~U[2026-04-16 12:14:40Z], "I dette afsnit sætter jeg mit keramik til salg for anden gang, med kæmpe sommerfugle i maven, jeg kører akut hjem fra en fødselsdag fordi det ligner at Helle er ved at føde - og så starter vi renoveringen af det nye værksted!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Keramiksalg og nyt værksted | Livet på gården Ep. 19", 3, 1643, false, "ACPmnpI3fvU", "https://www.youtube.com/watch?v=ACPmnpI3fvU", "/downloads/shows/Livet på gården/Season 2024/s2024e091900 - Keramiksalg og nyt værksted | Livet på gården Ep. 19.mp4", false, ~U[2024-09-19 14:00:08Z]] 14:14:40.320 [debug] QUERY OK source="sources" db=0.1ms idle=88.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:40.321 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:40.321 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [241] 14:14:40.321 [debug] Current batch of media processed. Will check again in 1000ms 14:14:41.322 [debug] Current batch of media processed. Will check again in 1000ms 14:14:42.323 [debug] Current batch of media processed. Will check again in 1000ms 14:14:43.324 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for IKEA.\n\nI denne video handler det om søvn og soveværelse. IKEA har nemlig spurgt mig om ikke jeg kunne have lyst til at få bygget vores kommende soveværelse i deres showroom i Aalborg. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBusiness mail: business@kristinesloth.dk", "duration" => 1387, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e091200 - Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18.mp4", "id" => "yzoiqawrf90", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yzoiqawrf90", "playlist_index" => 18, "timestamp" => 1726149663, "title" => "Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18", "upload_date" => "20240912"} 14:14:43.325 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1904.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:43.325 [debug] QUERY OK source="sources" db=0.1ms idle=1904.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:43.326 [debug] QUERY OK source="media_items" db=0.3ms idle=1905.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-12 14:01:03Z], 3] 14:14:43.327 [debug] QUERY OK source="media_items" db=0.8ms idle=1092.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for IKEA.\n\nI denne video handler det om søvn og soveværelse. IKEA har nemlig spurgt mig om ikke jeg kunne have lyst til at få bygget vores kommende soveværelse i deres showroom i Aalborg. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBusiness mail: business@kristinesloth.dk", "Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18", "ef44ef45-8c1d-4d2e-8a4e-231aefe11eb6", 3, [], 1387, false, "yzoiqawrf90", "https://www.youtube.com/watch?v=yzoiqawrf90", 18, "/downloads/shows/Livet på gården/Season 2024/s2024e091200 - Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18.mp4", false, false, false, 1, ~U[2024-09-12 14:01:03Z], ~U[2026-04-16 12:14:43Z], ~U[2026-04-16 12:14:43Z], "Denne video indeholder reklame for IKEA.\n\nI denne video handler det om søvn og soveværelse. IKEA har nemlig spurgt mig om ikke jeg kunne have lyst til at få bygget vores kommende soveværelse i deres showroom i Aalborg. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBusiness mail: business@kristinesloth.dk", "Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18", 3, 1387, false, "yzoiqawrf90", "https://www.youtube.com/watch?v=yzoiqawrf90", "/downloads/shows/Livet på gården/Season 2024/s2024e091200 - Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18.mp4", false, ~U[2024-09-12 14:01:03Z]] 14:14:43.328 [debug] QUERY OK source="sources" db=0.1ms idle=92.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:43.328 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:43.328 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [242] 14:14:43.329 [debug] Current batch of media processed. Will check again in 1000ms 14:14:44.329 [debug] Current batch of media processed. Will check again in 1000ms 14:14:45.330 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit besøger jeg for første gang dyrenes beskyttelse som ambassadør. En hel dag fyldt med magiske dyr, der bare drømmer om at nogen vil have dem til at bo hos sig. Jeg havde taget dem alle sammen hvis jeg måtte for Mikkel. \n\nDu kan læse mere om dyrenes beskyttelse og deres arbejde, samt se alle de dyr der er til adoption lige her: https://www.dyrenesbeskyttelse.dk/\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1742, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e100300 - En hel dag på dyreinternat | Livet på gården Ep. 21.mp4", "id" => "UlJfAh2C0fE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=UlJfAh2C0fE", "playlist_index" => 19, "timestamp" => 1727964034, "title" => "En hel dag på dyreinternat | Livet på gården Ep. 21", "upload_date" => "20241003"} 14:14:45.331 [debug] QUERY OK source="sources" db=0.2ms idle=910.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:45.331 [debug] QUERY OK source="sources" db=0.2ms idle=911.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:45.332 [debug] QUERY OK source="media_items" db=0.6ms idle=911.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-03 14:00:34Z], 3] 14:14:45.334 [debug] QUERY OK source="media_items" db=1.0ms idle=912.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit besøger jeg for første gang dyrenes beskyttelse som ambassadør. En hel dag fyldt med magiske dyr, der bare drømmer om at nogen vil have dem til at bo hos sig. Jeg havde taget dem alle sammen hvis jeg måtte for Mikkel. \n\nDu kan læse mere om dyrenes beskyttelse og deres arbejde, samt se alle de dyr der er til adoption lige her: https://www.dyrenesbeskyttelse.dk/\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En hel dag på dyreinternat | Livet på gården Ep. 21", "16b0ae4f-359d-455c-825a-aeb0f6d8553e", 3, [], 1742, false, "UlJfAh2C0fE", "https://www.youtube.com/watch?v=UlJfAh2C0fE", 19, "/downloads/shows/Livet på gården/Season 2024/s2024e100300 - En hel dag på dyreinternat | Livet på gården Ep. 21.mp4", false, false, false, 1, ~U[2024-10-03 14:00:34Z], ~U[2026-04-16 12:14:45Z], ~U[2026-04-16 12:14:45Z], "I dette afsnit besøger jeg for første gang dyrenes beskyttelse som ambassadør. En hel dag fyldt med magiske dyr, der bare drømmer om at nogen vil have dem til at bo hos sig. Jeg havde taget dem alle sammen hvis jeg måtte for Mikkel. \n\nDu kan læse mere om dyrenes beskyttelse og deres arbejde, samt se alle de dyr der er til adoption lige her: https://www.dyrenesbeskyttelse.dk/\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En hel dag på dyreinternat | Livet på gården Ep. 21", 3, 1742, false, "UlJfAh2C0fE", "https://www.youtube.com/watch?v=UlJfAh2C0fE", "/downloads/shows/Livet på gården/Season 2024/s2024e100300 - En hel dag på dyreinternat | Livet på gården Ep. 21.mp4", false, ~U[2024-10-03 14:00:34Z]] 14:14:45.334 [debug] QUERY OK source="sources" db=0.1ms idle=97.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:45.335 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:45.335 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [243] 14:14:45.335 [debug] Current batch of media processed. Will check again in 1000ms 14:14:46.337 [debug] Current batch of media processed. Will check again in 1000ms 14:14:47.337 [debug] Current batch of media processed. Will check again in 1000ms 14:14:48.338 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit får vi sat det sidste præg på værkstedet, og Mikkel får sin vilje og maler den skrigepink over med beige. Malene og jeg har som opgave at indrette og gøre det brugbart - og faktisk ender det med at blive virkelig godt. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1514, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e101000 - Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22.mp4", "id" => "5fUjlgO0xVU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5fUjlgO0xVU", "playlist_index" => 20, "timestamp" => 1728568809, "title" => "Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22", "upload_date" => "20241010"} 14:14:48.339 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1918.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:48.339 [debug] QUERY OK source="sources" db=0.1ms idle=1919.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:48.340 [debug] QUERY OK source="media_items" db=0.4ms idle=1919.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-10 14:00:09Z], 3] 14:14:48.341 [debug] QUERY OK source="media_items" db=0.8ms idle=1101.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit får vi sat det sidste præg på værkstedet, og Mikkel får sin vilje og maler den skrigepink over med beige. Malene og jeg har som opgave at indrette og gøre det brugbart - og faktisk ender det med at blive virkelig godt. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22", "f88c4a1d-b3ba-4de1-93a7-505cab630f58", 3, [], 1514, false, "5fUjlgO0xVU", "https://www.youtube.com/watch?v=5fUjlgO0xVU", 20, "/downloads/shows/Livet på gården/Season 2024/s2024e101000 - Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22.mp4", false, false, false, 1, ~U[2024-10-10 14:00:09Z], ~U[2026-04-16 12:14:48Z], ~U[2026-04-16 12:14:48Z], "I dette afsnit får vi sat det sidste præg på værkstedet, og Mikkel får sin vilje og maler den skrigepink over med beige. Malene og jeg har som opgave at indrette og gøre det brugbart - og faktisk ender det med at blive virkelig godt. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22", 3, 1514, false, "5fUjlgO0xVU", "https://www.youtube.com/watch?v=5fUjlgO0xVU", "/downloads/shows/Livet på gården/Season 2024/s2024e101000 - Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22.mp4", false, ~U[2024-10-10 14:00:09Z]] 14:14:48.342 [debug] QUERY OK source="sources" db=0.2ms idle=101.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:48.342 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:48.343 [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 [244] 14:14:48.343 [debug] Current batch of media processed. Will check again in 1000ms 14:14:49.344 [debug] Current batch of media processed. Will check again in 1000ms 14:14:50.345 [debug] Current batch of media processed. Will check again in 1000ms 14:14:51.346 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit kommer i med igennem hele processen af hvordan jeg laver mit keramik.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1892, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e101700 - Lav keramik med mig - fra start til slut | Livet på gården Ep. 23.mp4", "id" => "1FSZw5q8Zaw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1FSZw5q8Zaw", "playlist_index" => 21, "timestamp" => 1729173604, "title" => "Lav keramik med mig - fra start til slut | Livet på gården Ep. 23", "upload_date" => "20241017"} 14:14:51.347 [debug] QUERY OK source="sources" db=0.2ms idle=1926.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:51.347 [debug] QUERY OK source="sources" db=0.1ms idle=1926.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:51.348 [debug] QUERY OK source="media_items" db=0.4ms idle=1927.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-17 14:00:04Z], 3] 14:14:51.349 [debug] QUERY OK source="media_items" db=0.8ms idle=1106.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i med igennem hele processen af hvordan jeg laver mit keramik.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Lav keramik med mig - fra start til slut | Livet på gården Ep. 23", "a7b7c83d-de33-4819-a88a-187e0f179940", 3, [], 1892, false, "1FSZw5q8Zaw", "https://www.youtube.com/watch?v=1FSZw5q8Zaw", 21, "/downloads/shows/Livet på gården/Season 2024/s2024e101700 - Lav keramik med mig - fra start til slut | Livet på gården Ep. 23.mp4", false, false, false, 1, ~U[2024-10-17 14:00:04Z], ~U[2026-04-16 12:14:51Z], ~U[2026-04-16 12:14:51Z], "I dette afsnit kommer i med igennem hele processen af hvordan jeg laver mit keramik.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Lav keramik med mig - fra start til slut | Livet på gården Ep. 23", 3, 1892, false, "1FSZw5q8Zaw", "https://www.youtube.com/watch?v=1FSZw5q8Zaw", "/downloads/shows/Livet på gården/Season 2024/s2024e101700 - Lav keramik med mig - fra start til slut | Livet på gården Ep. 23.mp4", false, ~U[2024-10-17 14:00:04Z]] 14:14:51.350 [debug] QUERY OK source="sources" db=0.2ms idle=106.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:51.350 [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] 14:14:51.351 [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 [245] 14:14:51.351 [debug] Current batch of media processed. Will check again in 1000ms 14:14:52.351 [debug] Current batch of media processed. Will check again in 1000ms 14:14:53.352 [debug] Current batch of media processed. Will check again in 1000ms 14:14:54.353 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er Felix på besøg og hjælper til med at tømme keramikovnen, vores store orpington skrukker og køkkenhaven er begyndt at give grøntsager - dog meget sparsomt, da sommeren i år har været fyldt med køkkenhave-fjender. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 2101, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e102400 - Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24.mp4", "id" => "6vrGogQTGw8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6vrGogQTGw8", "playlist_index" => 22, "timestamp" => 1729778405, "title" => "Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24", "upload_date" => "20241024"} 14:14:54.354 [debug] QUERY OK source="sources" db=0.2ms idle=1933.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:54.354 [debug] QUERY OK source="sources" db=0.1ms idle=1934.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:54.355 [debug] QUERY OK source="media_items" db=0.3ms idle=1934.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-24 14:00:05Z], 3] 14:14:54.356 [debug] QUERY OK source="media_items" db=0.7ms idle=1109.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er Felix på besøg og hjælper til med at tømme keramikovnen, vores store orpington skrukker og køkkenhaven er begyndt at give grøntsager - dog meget sparsomt, da sommeren i år har været fyldt med køkkenhave-fjender. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24", "b41e4ef4-9743-42b5-83bf-c275d3d09024", 3, [], 2101, false, "6vrGogQTGw8", "https://www.youtube.com/watch?v=6vrGogQTGw8", 22, "/downloads/shows/Livet på gården/Season 2024/s2024e102400 - Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24.mp4", false, false, false, 1, ~U[2024-10-24 14:00:05Z], ~U[2026-04-16 12:14:54Z], ~U[2026-04-16 12:14:54Z], "I dette afsnit er Felix på besøg og hjælper til med at tømme keramikovnen, vores store orpington skrukker og køkkenhaven er begyndt at give grøntsager - dog meget sparsomt, da sommeren i år har været fyldt med køkkenhave-fjender. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24", 3, 2101, false, "6vrGogQTGw8", "https://www.youtube.com/watch?v=6vrGogQTGw8", "/downloads/shows/Livet på gården/Season 2024/s2024e102400 - Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24.mp4", false, ~U[2024-10-24 14:00:05Z]] 14:14:54.357 [debug] QUERY OK source="sources" db=0.1ms idle=109.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:54.357 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:54.357 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [246] 14:14:54.358 [debug] Current batch of media processed. Will check again in 1000ms 14:14:55.358 [debug] Current batch of media processed. Will check again in 1000ms 14:14:56.359 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vi skal være forældre ❤️\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1195, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e102600 - Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit).mp4", "id" => "fszG4EUNQSw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fszG4EUNQSw", "playlist_index" => 23, "timestamp" => 1729954642, "title" => "Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit)", "upload_date" => "20241026"} 14:14:56.360 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=939.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:56.361 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=940.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:56.361 [debug] QUERY OK source="media_items" db=0.3ms idle=940.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-26 14:57:22Z], 3] 14:14:56.362 [debug] QUERY OK source="media_items" db=0.6ms idle=941.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vi skal være forældre ❤️\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit)", "177080ab-e027-4648-8aea-f4af29fb35db", 3, [], 1195, false, "fszG4EUNQSw", "https://www.youtube.com/watch?v=fszG4EUNQSw", 23, "/downloads/shows/Livet på gården/Season 2024/s2024e102600 - Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit).mp4", false, false, false, 1, ~U[2024-10-26 14:57:22Z], ~U[2026-04-16 12:14:56Z], ~U[2026-04-16 12:14:56Z], "Vi skal være forældre ❤️\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit)", 3, 1195, false, "fszG4EUNQSw", "https://www.youtube.com/watch?v=fszG4EUNQSw", "/downloads/shows/Livet på gården/Season 2024/s2024e102600 - Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit).mp4", false, ~U[2024-10-26 14:57:22Z]] 14:14:56.363 [debug] QUERY OK source="sources" db=0.2ms idle=113.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:56.363 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:56.364 [debug] QUERY OK source="media_items" db=0.3ms 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 [247] 14:14:56.364 [debug] Current batch of media processed. Will check again in 1000ms 14:14:57.365 [debug] Current batch of media processed. Will check again in 1000ms 14:14:58.366 [debug] Current batch of media processed. Will check again in 1000ms 14:14:59.367 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video fortæller vi mange af dem vi elsker at vi skal være forældre!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 845, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e103100 - Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26.mp4", "id" => "knLNbZN-U8I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=knLNbZN-U8I", "playlist_index" => 24, "timestamp" => 1730386862, "title" => "Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26", "upload_date" => "20241031"} 14:14:59.368 [debug] QUERY OK source="sources" db=0.2ms idle=1947.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:14:59.368 [debug] QUERY OK source="sources" db=0.1ms idle=1947.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:59.369 [debug] QUERY OK source="media_items" db=0.3ms idle=1948.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-31 15:01:02Z], 3] 14:14:59.370 [debug] QUERY OK source="media_items" db=0.7ms idle=1118.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video fortæller vi mange af dem vi elsker at vi skal være forældre!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26", "d9b62653-33ee-4f46-9d06-b77f8ce3da61", 3, [], 845, false, "knLNbZN-U8I", "https://www.youtube.com/watch?v=knLNbZN-U8I", 24, "/downloads/shows/Livet på gården/Season 2024/s2024e103100 - Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26.mp4", false, false, false, 1, ~U[2024-10-31 15:01:02Z], ~U[2026-04-16 12:14:59Z], ~U[2026-04-16 12:14:59Z], "I denne video fortæller vi mange af dem vi elsker at vi skal være forældre!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26", 3, 845, false, "knLNbZN-U8I", "https://www.youtube.com/watch?v=knLNbZN-U8I", "/downloads/shows/Livet på gården/Season 2024/s2024e103100 - Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26.mp4", false, ~U[2024-10-31 15:01:02Z]] 14:14:59.370 [debug] QUERY OK source="sources" db=0.2ms idle=118.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:14:59.371 [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] 14:14:59.372 [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 [248] 14:14:59.372 [debug] Current batch of media processed. Will check again in 1000ms 14:15:00.372 [debug] Current batch of media processed. Will check again in 1000ms 14:15:00.484 [info] {"source":"oban","duration":1031,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:15:00.510 [info] {"source":"oban","duration":4260,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:01.373 [debug] Current batch of media processed. Will check again in 1000ms 14:15:02.374 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er jeg kommet til at købe nye høns igen, fordi 21 ikke var nok, og Mikkel henter dem med mig. Vores ene gris er blevet døv, og så er der fuld gang i den, i keramik værkstedet med pat-kopper og ovntømning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1621, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e110700 - Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27.mp4", "id" => "JyiMi5ofXPw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JyiMi5ofXPw", "playlist_index" => 25, "timestamp" => 1730991619, "title" => "Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27", "upload_date" => "20241107"} 14:15:02.375 [debug] QUERY OK source="sources" db=0.2ms idle=1954.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:02.375 [debug] QUERY OK source="sources" db=0.1ms idle=1891.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:02.376 [debug] QUERY OK source="media_items" db=0.3ms idle=1865.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-07 15:00:19Z], 3] 14:15:02.377 [debug] QUERY OK source="media_items" db=0.7ms idle=1121.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er jeg kommet til at købe nye høns igen, fordi 21 ikke var nok, og Mikkel henter dem med mig. Vores ene gris er blevet døv, og så er der fuld gang i den, i keramik værkstedet med pat-kopper og ovntømning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27", "52eb4362-f094-4b48-9ec0-85ffc5fc6910", 3, [], 1621, false, "JyiMi5ofXPw", "https://www.youtube.com/watch?v=JyiMi5ofXPw", 25, "/downloads/shows/Livet på gården/Season 2024/s2024e110700 - Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27.mp4", false, false, false, 1, ~U[2024-11-07 15:00:19Z], ~U[2026-04-16 12:15:02Z], ~U[2026-04-16 12:15:02Z], "I dette afsnit er jeg kommet til at købe nye høns igen, fordi 21 ikke var nok, og Mikkel henter dem med mig. Vores ene gris er blevet døv, og så er der fuld gang i den, i keramik værkstedet med pat-kopper og ovntømning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27", 3, 1621, false, "JyiMi5ofXPw", "https://www.youtube.com/watch?v=JyiMi5ofXPw", "/downloads/shows/Livet på gården/Season 2024/s2024e110700 - Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27.mp4", false, ~U[2024-11-07 15:00:19Z]] 14:15:02.378 [debug] QUERY OK source="sources" db=0.2ms idle=121.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:02.378 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:02.379 [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 [249] 14:15:02.379 [debug] Current batch of media processed. Will check again in 1000ms 14:15:03.380 [debug] Current batch of media processed. Will check again in 1000ms 14:15:04.381 [debug] Current batch of media processed. Will check again in 1000ms 14:15:05.382 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er vi en kort tur i IKEA, pludseligt og voldsomt bliver en af vores små grise syge og må aflives - det samme få dage efter, og vi kender ikke årsagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1506, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e111400 - Døde grise og kæmpe krise | Livet på gården Ep. 28.mp4", "id" => "jEs2qt9f4cQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jEs2qt9f4cQ", "playlist_index" => 26, "timestamp" => 1731596451, "title" => "Døde grise og kæmpe krise | Livet på gården Ep. 28", "upload_date" => "20241114"} 14:15:05.383 [debug] QUERY OK source="sources" db=0.3ms idle=1962.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:05.384 [debug] QUERY OK source="sources" db=0.5ms idle=1962.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:05.384 [debug] QUERY OK source="media_items" db=0.3ms idle=1963.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-14 15:00:51Z], 3] 14:15:05.386 [debug] QUERY OK source="media_items" db=0.7ms idle=1125.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi en kort tur i IKEA, pludseligt og voldsomt bliver en af vores små grise syge og må aflives - det samme få dage efter, og vi kender ikke årsagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Døde grise og kæmpe krise | Livet på gården Ep. 28", "ec969ae0-2f20-4767-be22-e7d9df972a9e", 3, [], 1506, false, "jEs2qt9f4cQ", "https://www.youtube.com/watch?v=jEs2qt9f4cQ", 26, "/downloads/shows/Livet på gården/Season 2024/s2024e111400 - Døde grise og kæmpe krise | Livet på gården Ep. 28.mp4", false, false, false, 1, ~U[2024-11-14 15:00:51Z], ~U[2026-04-16 12:15:05Z], ~U[2026-04-16 12:15:05Z], "I dette afsnit er vi en kort tur i IKEA, pludseligt og voldsomt bliver en af vores små grise syge og må aflives - det samme få dage efter, og vi kender ikke årsagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Døde grise og kæmpe krise | Livet på gården Ep. 28", 3, 1506, false, "jEs2qt9f4cQ", "https://www.youtube.com/watch?v=jEs2qt9f4cQ", "/downloads/shows/Livet på gården/Season 2024/s2024e111400 - Døde grise og kæmpe krise | Livet på gården Ep. 28.mp4", false, ~U[2024-11-14 15:00:51Z]] 14:15:05.386 [debug] QUERY OK source="sources" db=0.1ms idle=124.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:05.386 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:05.387 [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 [250] 14:15:05.387 [debug] Current batch of media processed. Will check again in 1000ms 14:15:06.388 [debug] Current batch of media processed. Will check again in 1000ms 14:15:07.391 [debug] Current batch of media processed. Will check again in 1000ms 14:15:08.392 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er der en høne som er blevet syg, og er flyttet ind i stuen til Mikkel kommer hjem og må klare sagerne. Hvidløgene skal i jorden inden frosten, og så er der flytter rotter ind på loftet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1529, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e112100 - Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29.mp4", "id" => "RfFqKyedfAE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RfFqKyedfAE", "playlist_index" => 27, "timestamp" => 1732201226, "title" => "Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29", "upload_date" => "20241121"} 14:15:08.393 [debug] QUERY OK source="sources" db=0.3ms idle=1972.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:08.393 [debug] QUERY OK source="sources" db=0.1ms idle=1973.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:08.394 [debug] QUERY OK source="media_items" db=0.3ms idle=1973.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-21 15:00:26Z], 3] 14:15:08.395 [debug] QUERY OK source="media_items" db=0.7ms idle=1130.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der en høne som er blevet syg, og er flyttet ind i stuen til Mikkel kommer hjem og må klare sagerne. Hvidløgene skal i jorden inden frosten, og så er der flytter rotter ind på loftet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29", "1b695ad9-f1e6-4e02-bbd6-4913c6e403a7", 3, [], 1529, false, "RfFqKyedfAE", "https://www.youtube.com/watch?v=RfFqKyedfAE", 27, "/downloads/shows/Livet på gården/Season 2024/s2024e112100 - Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29.mp4", false, false, false, 1, ~U[2024-11-21 15:00:26Z], ~U[2026-04-16 12:15:08Z], ~U[2026-04-16 12:15:08Z], "I dette afsnit er der en høne som er blevet syg, og er flyttet ind i stuen til Mikkel kommer hjem og må klare sagerne. Hvidløgene skal i jorden inden frosten, og så er der flytter rotter ind på loftet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29", 3, 1529, false, "RfFqKyedfAE", "https://www.youtube.com/watch?v=RfFqKyedfAE", "/downloads/shows/Livet på gården/Season 2024/s2024e112100 - Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29.mp4", false, ~U[2024-11-21 15:00:26Z]] 14:15:08.396 [debug] QUERY OK source="sources" db=0.1ms idle=130.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:08.396 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:08.396 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [251] 14:15:08.397 [debug] Current batch of media processed. Will check again in 1000ms 14:15:09.397 [debug] Current batch of media processed. Will check again in 1000ms 14:15:10.399 [debug] Current batch of media processed. Will check again in 1000ms 14:15:11.400 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er der endnu engang ikke held ved grisene. Vores elskede Connie har fået en stor byld og er generelt svag. Rotterne har invarderet gården - og Mikkels tanker, og så begynder vi så småt at gøre os tanker om renoveringen af overetagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1708, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e112800 - En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30.mp4", "id" => "X73rI43iuD4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=X73rI43iuD4", "playlist_index" => 28, "timestamp" => 1732806036, "title" => "En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30", "upload_date" => "20241128"} 14:15:11.401 [debug] QUERY OK source="sources" db=0.2ms idle=1980.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:11.401 [debug] QUERY OK source="sources" db=0.1ms idle=1980.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:11.402 [debug] QUERY OK source="media_items" db=0.4ms idle=1981.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-28 15:00:36Z], 3] 14:15:11.403 [debug] QUERY OK source="media_items" db=0.9ms idle=1135.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der endnu engang ikke held ved grisene. Vores elskede Connie har fået en stor byld og er generelt svag. Rotterne har invarderet gården - og Mikkels tanker, og så begynder vi så småt at gøre os tanker om renoveringen af overetagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30", "5ef7f3ee-745e-40c8-9a86-ef04ef705516", 3, [], 1708, false, "X73rI43iuD4", "https://www.youtube.com/watch?v=X73rI43iuD4", 28, "/downloads/shows/Livet på gården/Season 2024/s2024e112800 - En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30.mp4", false, false, false, 1, ~U[2024-11-28 15:00:36Z], ~U[2026-04-16 12:15:11Z], ~U[2026-04-16 12:15:11Z], "I dette afsnit er der endnu engang ikke held ved grisene. Vores elskede Connie har fået en stor byld og er generelt svag. Rotterne har invarderet gården - og Mikkels tanker, og så begynder vi så småt at gøre os tanker om renoveringen af overetagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30", 3, 1708, false, "X73rI43iuD4", "https://www.youtube.com/watch?v=X73rI43iuD4", "/downloads/shows/Livet på gården/Season 2024/s2024e112800 - En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30.mp4", false, ~U[2024-11-28 15:00:36Z]] 14:15:11.404 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [3] 14:15:11.404 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:11.405 [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 [252] 14:15:11.405 [debug] Current batch of media processed. Will check again in 1000ms 14:15:12.406 [debug] Current batch of media processed. Will check again in 1000ms 14:15:13.407 [debug] Current batch of media processed. Will check again in 1000ms 14:15:14.408 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1586, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e010200 - Vores grise stikker af | Livet på gården Ep. 31.mp4", "id" => "mdvG-5UJYRw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mdvG-5UJYRw", "playlist_index" => 29, "timestamp" => 1735830053, "title" => "Vores grise stikker af | Livet på gården Ep. 31", "upload_date" => "20250102"} 14:15:14.409 [debug] QUERY OK source="sources" db=0.2ms idle=1988.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:14.409 [debug] QUERY OK source="sources" db=0.1ms idle=1988.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:14.410 [debug] QUERY OK source="media_items" db=0.3ms idle=1989.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-02 15:00:53Z], 3] 14:15:14.412 [debug] QUERY OK source="media_items" db=1.7ms idle=1139.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores grise stikker af | Livet på gården Ep. 31", "a289842c-b042-4dfc-bf25-119d368977e2", 3, [], 1586, false, "mdvG-5UJYRw", "https://www.youtube.com/watch?v=mdvG-5UJYRw", 29, "/downloads/shows/Livet på gården/Season 2025/s2025e010200 - Vores grise stikker af | Livet på gården Ep. 31.mp4", false, false, false, 1, ~U[2025-01-02 15:00:53Z], ~U[2026-04-16 12:15:14Z], ~U[2026-04-16 12:15:14Z], "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores grise stikker af | Livet på gården Ep. 31", 3, 1586, false, "mdvG-5UJYRw", "https://www.youtube.com/watch?v=mdvG-5UJYRw", "/downloads/shows/Livet på gården/Season 2025/s2025e010200 - Vores grise stikker af | Livet på gården Ep. 31.mp4", false, ~U[2025-01-02 15:00:53Z]] 14:15:14.413 [debug] QUERY OK source="sources" db=0.2ms idle=139.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:14.413 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:14.414 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [253] 14:15:14.414 [debug] Current batch of media processed. Will check again in 1000ms 14:15:15.414 [debug] Current batch of media processed. Will check again in 1000ms 14:15:16.415 [debug] Current batch of media processed. Will check again in 1000ms 14:15:17.416 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video er vi til 20 ugers scanning med en sund og rask baby, og finder ud af hvad kønnet er. Vi køber nyt spisebord, får nye æggefarver, opdager en ny hane og så har jeg nesting syndrom.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1189, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e010900 - Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32.mp4", "id" => "in68bPvRI18", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=in68bPvRI18", "playlist_index" => 30, "timestamp" => 1736434862, "title" => "Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32", "upload_date" => "20250109"} 14:15:17.417 [debug] QUERY OK source="sources" db=0.2ms idle=1996.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:17.417 [debug] QUERY OK source="sources" db=0.1ms idle=1996.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:17.418 [debug] QUERY OK source="media_items" db=0.3ms idle=1997.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-09 15:01:02Z], 3] 14:15:17.419 [debug] QUERY OK source="media_items" db=0.7ms idle=1142.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video er vi til 20 ugers scanning med en sund og rask baby, og finder ud af hvad kønnet er. Vi køber nyt spisebord, får nye æggefarver, opdager en ny hane og så har jeg nesting syndrom.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32", "5e968c20-8c0c-4774-b255-e347abda7f48", 3, [], 1189, false, "in68bPvRI18", "https://www.youtube.com/watch?v=in68bPvRI18", 30, "/downloads/shows/Livet på gården/Season 2025/s2025e010900 - Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32.mp4", false, false, false, 1, ~U[2025-01-09 15:01:02Z], ~U[2026-04-16 12:15:17Z], ~U[2026-04-16 12:15:17Z], "I denne video er vi til 20 ugers scanning med en sund og rask baby, og finder ud af hvad kønnet er. Vi køber nyt spisebord, får nye æggefarver, opdager en ny hane og så har jeg nesting syndrom.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32", 3, 1189, false, "in68bPvRI18", "https://www.youtube.com/watch?v=in68bPvRI18", "/downloads/shows/Livet på gården/Season 2025/s2025e010900 - Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32.mp4", false, ~U[2025-01-09 15:01:02Z]] 14:15:17.420 [debug] QUERY OK source="sources" db=0.2ms idle=142.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:17.420 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:17.421 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [254] 14:15:17.421 [debug] Current batch of media processed. Will check again in 1000ms 14:15:18.422 [debug] Current batch of media processed. Will check again in 1000ms 14:15:19.423 [debug] Current batch of media processed. Will check again in 1000ms 14:15:20.424 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne gang i livet på gården kommer i med i køkkenet. Vinteren er over os, og jeg bruger meget tid indendøre, da dyrene er i ro og naturen er i dvale. Jeg elsker at lave mad, så se med på hvad jeg spiser på en dag, samt en omgang cookie bagning. Opskriften er denne: \n\nOpskrift til ca. 35 cookies\nDu skal bruge:\n240 g blødt smør\n300 g brun farin\n100 g sukker\n2 æg\n420 g hvedemel\n2 tsk bagepulver\n1 tsk natron\n2 tsk salt\n300 g chokolade\n\nPisk smør, sukker og brun farin sammen. Tilsæt æg og pisk med.\n\nTilsæt hvedemel, natron, bagepulver og salt. Pisk sammen.\n\nHak chokolade og vend det i dejen.\n\nTænd ovnen på 200 grader varmluft.\n\nForm kugler af dejen eller brug en isske.\n\nBag i ca. 10 min, til kanterne er gyldne, men midten stadig er “flydende”. Afkøl til de har sat sig. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1320, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e011600 - Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33.mp4", "id" => "7eqGNG6x48o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7eqGNG6x48o", "playlist_index" => 31, "timestamp" => 1737039613, "title" => "Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33", "upload_date" => "20250116"} 14:15:20.425 [debug] QUERY OK source="sources" db=0.2ms idle=1004.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:20.425 [debug] QUERY OK source="sources" db=0.1ms idle=1004.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:20.426 [debug] QUERY OK source="media_items" db=0.3ms idle=141.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-16 15:00:13Z], 3] 14:15:20.427 [debug] QUERY OK source="media_items" db=1.0ms idle=6.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne gang i livet på gården kommer i med i køkkenet. Vinteren er over os, og jeg bruger meget tid indendøre, da dyrene er i ro og naturen er i dvale. Jeg elsker at lave mad, så se med på hvad jeg spiser på en dag, samt en omgang cookie bagning. Opskriften er denne: \n\nOpskrift til ca. 35 cookies\nDu skal bruge:\n240 g blødt smør\n300 g brun farin\n100 g sukker\n2 æg\n420 g hvedemel\n2 tsk bagepulver\n1 tsk natron\n2 tsk salt\n300 g chokolade\n\nPisk smør, sukker og brun farin sammen. Tilsæt æg og pisk med.\n\nTilsæt hvedemel, natron, bagepulver og salt. Pisk sammen.\n\nHak chokolade og vend det i dejen.\n\nTænd ovnen på 200 grader varmluft.\n\nForm kugler af dejen eller brug en isske.\n\nBag i ca. 10 min, til kanterne er gyldne, men midten stadig er “flydende”. Afkøl til de har sat sig. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33", "321215b3-0ef1-4127-affb-051024381748", 3, [], 1320, false, "7eqGNG6x48o", "https://www.youtube.com/watch?v=7eqGNG6x48o", 31, "/downloads/shows/Livet på gården/Season 2025/s2025e011600 - Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33.mp4", false, false, false, 1, ~U[2025-01-16 15:00:13Z], ~U[2026-04-16 12:15:20Z], ~U[2026-04-16 12:15:20Z], "Denne gang i livet på gården kommer i med i køkkenet. Vinteren er over os, og jeg bruger meget tid indendøre, da dyrene er i ro og naturen er i dvale. Jeg elsker at lave mad, så se med på hvad jeg spiser på en dag, samt en omgang cookie bagning. Opskriften er denne: \n\nOpskrift til ca. 35 cookies\nDu skal bruge:\n240 g blødt smør\n300 g brun farin\n100 g sukker\n2 æg\n420 g hvedemel\n2 tsk bagepulver\n1 tsk natron\n2 tsk salt\n300 g chokolade\n\nPisk smør, sukker og brun farin sammen. Tilsæt æg og pisk med.\n\nTilsæt hvedemel, natron, bagepulver og salt. Pisk sammen.\n\nHak chokolade og vend det i dejen.\n\nTænd ovnen på 200 grader varmluft.\n\nForm kugler af dejen eller brug en isske.\n\nBag i ca. 10 min, til kanterne er gyldne, men midten stadig er “flydende”. Afkøl til de har sat sig. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33", 3, 1320, false, "7eqGNG6x48o", "https://www.youtube.com/watch?v=7eqGNG6x48o", "/downloads/shows/Livet på gården/Season 2025/s2025e011600 - Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33.mp4", false, ~U[2025-01-16 15:00:13Z]] 14:15:20.428 [debug] QUERY OK source="sources" db=0.1ms idle=7.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:20.428 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:20.429 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [255] 14:15:20.429 [debug] Current batch of media processed. Will check again in 1000ms 14:15:21.430 [debug] Current batch of media processed. Will check again in 1000ms 14:15:22.431 [debug] Current batch of media processed. Will check again in 1000ms 14:15:23.432 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode kommer i med når vi forbereder og laver maden nytårsaften, som for os går stille for sig med en baby i maven og dyr der har brug for nærvær. Det nye år starter hårdt ud med strømsvigt i elhegnet, så grisene igen kan stikke af. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1554, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e012300 - Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34.mp4", "id" => "DHmTZSb2QAg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DHmTZSb2QAg", "playlist_index" => 32, "timestamp" => 1737644414, "title" => "Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34", "upload_date" => "20250123"} 14:15:23.433 [debug] QUERY OK source="sources" db=0.2ms idle=1012.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:23.433 [debug] QUERY OK source="sources" db=0.1ms idle=1012.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:23.434 [debug] QUERY OK source="media_items" db=0.3ms idle=1013.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-23 15:00:14Z], 3] 14:15:23.435 [debug] QUERY OK source="media_items" db=0.8ms idle=1014.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode kommer i med når vi forbereder og laver maden nytårsaften, som for os går stille for sig med en baby i maven og dyr der har brug for nærvær. Det nye år starter hårdt ud med strømsvigt i elhegnet, så grisene igen kan stikke af. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34", "fd138abe-7004-4f67-9bd6-e32ff8653bdd", 3, [], 1554, false, "DHmTZSb2QAg", "https://www.youtube.com/watch?v=DHmTZSb2QAg", 32, "/downloads/shows/Livet på gården/Season 2025/s2025e012300 - Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34.mp4", false, false, false, 1, ~U[2025-01-23 15:00:14Z], ~U[2026-04-16 12:15:23Z], ~U[2026-04-16 12:15:23Z], "I denne episode kommer i med når vi forbereder og laver maden nytårsaften, som for os går stille for sig med en baby i maven og dyr der har brug for nærvær. Det nye år starter hårdt ud med strømsvigt i elhegnet, så grisene igen kan stikke af. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34", 3, 1554, false, "DHmTZSb2QAg", "https://www.youtube.com/watch?v=DHmTZSb2QAg", "/downloads/shows/Livet på gården/Season 2025/s2025e012300 - Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34.mp4", false, ~U[2025-01-23 15:00:14Z]] 14:15:23.436 [debug] QUERY OK source="sources" db=0.1ms idle=147.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:23.436 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:23.437 [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 [287] 14:15:23.437 [debug] Current batch of media processed. Will check again in 1000ms 14:15:24.437 [debug] Current batch of media processed. Will check again in 1000ms 14:15:25.438 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit bikser vi lynhurtigt en stald op til grisene, dog ikke uden problemer, da stødhegnet driller. Heldigvis kommer de på plads, og får nyt hjem som de er meget glade for. Derudover er vi så småt begyndt at shoppe til baby pigen, og har købt en barnevogn og andre sager. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1577, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e013000 - Ny grisestald og babyhaul | Livet på gården Ep. 35.mp4", "id" => "06C0dkPjHIU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=06C0dkPjHIU", "playlist_index" => 33, "timestamp" => 1738249201, "title" => "Ny grisestald og babyhaul | Livet på gården Ep. 35", "upload_date" => "20250130"} 14:15:25.439 [debug] QUERY OK source="sources" db=0.2ms idle=148.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:25.440 [debug] QUERY OK source="sources" db=0.5ms idle=19.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:25.441 [debug] QUERY OK source="media_items" db=0.5ms idle=19.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-30 15:00:01Z], 3] 14:15:25.442 [debug] QUERY OK source="media_items" db=0.9ms idle=20.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit bikser vi lynhurtigt en stald op til grisene, dog ikke uden problemer, da stødhegnet driller. Heldigvis kommer de på plads, og får nyt hjem som de er meget glade for. Derudover er vi så småt begyndt at shoppe til baby pigen, og har købt en barnevogn og andre sager. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny grisestald og babyhaul | Livet på gården Ep. 35", "e9d0a06c-b5df-4546-9db5-8b067f016343", 3, [], 1577, false, "06C0dkPjHIU", "https://www.youtube.com/watch?v=06C0dkPjHIU", 33, "/downloads/shows/Livet på gården/Season 2025/s2025e013000 - Ny grisestald og babyhaul | Livet på gården Ep. 35.mp4", false, false, false, 1, ~U[2025-01-30 15:00:01Z], ~U[2026-04-16 12:15:25Z], ~U[2026-04-16 12:15:25Z], "I dette afsnit bikser vi lynhurtigt en stald op til grisene, dog ikke uden problemer, da stødhegnet driller. Heldigvis kommer de på plads, og får nyt hjem som de er meget glade for. Derudover er vi så småt begyndt at shoppe til baby pigen, og har købt en barnevogn og andre sager. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny grisestald og babyhaul | Livet på gården Ep. 35", 3, 1577, false, "06C0dkPjHIU", "https://www.youtube.com/watch?v=06C0dkPjHIU", "/downloads/shows/Livet på gården/Season 2025/s2025e013000 - Ny grisestald og babyhaul | Livet på gården Ep. 35.mp4", false, ~U[2025-01-30 15:00:01Z]] 14:15:25.443 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [3] 14:15:25.443 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:25.444 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5894] 14:15:25.444 [debug] Current batch of media processed. Will check again in 1000ms 14:15:26.445 [debug] Current batch of media processed. Will check again in 1000ms 14:15:27.446 [debug] Current batch of media processed. Will check again in 1000ms 14:15:28.447 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit kommer i med i køkkenet en helt almindelig hverdags aften hvor vi har pizza aften. Vi er hverken eksperter eller noget, men vi elsker hygger ved at lave pizza sammen. Rotterne er fortsat på færde og med sit luftgevær går Mikkel på jagt og fanger faktisk 2 rotter. Kæmpe succes!\n\nPizzadej: https://stinna.dk/aftensmad/nem-pizzadej.html\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1119, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e020600 - Pizzaaften og rottefangst | Livet på gården Ep. 36.mp4", "id" => "5VIOEvQa6qs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5VIOEvQa6qs", "playlist_index" => 34, "timestamp" => 1738854015, "title" => "Pizzaaften og rottefangst | Livet på gården Ep. 36", "upload_date" => "20250206"} 14:15:28.448 [debug] QUERY OK source="sources" db=0.3ms idle=1027.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:28.448 [debug] QUERY OK source="sources" db=0.2ms idle=1027.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:28.449 [debug] QUERY OK source="media_items" db=0.4ms idle=1028.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-06 15:00:15Z], 3] 14:15:28.450 [debug] QUERY OK source="media_items" db=0.8ms idle=1029.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i med i køkkenet en helt almindelig hverdags aften hvor vi har pizza aften. Vi er hverken eksperter eller noget, men vi elsker hygger ved at lave pizza sammen. Rotterne er fortsat på færde og med sit luftgevær går Mikkel på jagt og fanger faktisk 2 rotter. Kæmpe succes!\n\nPizzadej: https://stinna.dk/aftensmad/nem-pizzadej.html\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Pizzaaften og rottefangst | Livet på gården Ep. 36", "a3f0aa9e-0bf3-4ac3-8d09-ad7033086b68", 3, [], 1119, false, "5VIOEvQa6qs", "https://www.youtube.com/watch?v=5VIOEvQa6qs", 34, "/downloads/shows/Livet på gården/Season 2025/s2025e020600 - Pizzaaften og rottefangst | Livet på gården Ep. 36.mp4", false, false, false, 1, ~U[2025-02-06 15:00:15Z], ~U[2026-04-16 12:15:28Z], ~U[2026-04-16 12:15:28Z], "I dette afsnit kommer i med i køkkenet en helt almindelig hverdags aften hvor vi har pizza aften. Vi er hverken eksperter eller noget, men vi elsker hygger ved at lave pizza sammen. Rotterne er fortsat på færde og med sit luftgevær går Mikkel på jagt og fanger faktisk 2 rotter. Kæmpe succes!\n\nPizzadej: https://stinna.dk/aftensmad/nem-pizzadej.html\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Pizzaaften og rottefangst | Livet på gården Ep. 36", 3, 1119, false, "5VIOEvQa6qs", "https://www.youtube.com/watch?v=5VIOEvQa6qs", "/downloads/shows/Livet på gården/Season 2025/s2025e020600 - Pizzaaften og rottefangst | Livet på gården Ep. 36.mp4", false, ~U[2025-02-06 15:00:15Z]] 14:15:28.451 [debug] QUERY OK source="sources" db=0.1ms idle=155.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:28.451 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:28.452 [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 [7183] 14:15:28.452 [debug] Current batch of media processed. Will check again in 1000ms 14:15:29.453 [debug] Current batch of media processed. Will check again in 1000ms 14:15:30.454 [debug] Current batch of media processed. Will check again in 1000ms 14:15:30.512 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:31.455 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh. \n\nI denne video kommer i med i løbet af mad-dag. Jeg er gravid i 3. trimester og er mere sulten end nogensinde før. Jeg spiser hvad jeg lyster og nemheden er vigtig for os lige nu da jeg er udfordret i de store indkøb - så derfor får vi måltidskasser fra HelloFresh. Det er nemt, lækkert og virkelig inspirerende. \n\nDu kan lige nu spare op til 1079 kroner på dine 3 første måltidskasser fra HelloFresh og få en gratis dessert med ved hver bestilling de første 3 måneder hvis du er ny kunde - ved brug af min rabatkode KRISTINEFRESH25 eller ved at klikke på linket her: http://www.hellofresh.dk/KRISTINEFRESH25\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 964, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e021300 - Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37.mp4", "id" => "C4VNr3_SRjc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=C4VNr3_SRjc", "playlist_index" => 35, "timestamp" => 1739458815, "title" => "Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37", "upload_date" => "20250213"} 14:15:31.456 [debug] QUERY OK source="sources" db=0.2ms idle=1035.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:31.456 [debug] QUERY OK source="sources" db=0.1ms idle=1035.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:31.457 [debug] QUERY OK source="media_items" db=0.3ms idle=1036.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-13 15:00:15Z], 3] 14:15:31.458 [debug] QUERY OK source="media_items" db=0.9ms idle=945.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nI denne video kommer i med i løbet af mad-dag. Jeg er gravid i 3. trimester og er mere sulten end nogensinde før. Jeg spiser hvad jeg lyster og nemheden er vigtig for os lige nu da jeg er udfordret i de store indkøb - så derfor får vi måltidskasser fra HelloFresh. Det er nemt, lækkert og virkelig inspirerende. \n\nDu kan lige nu spare op til 1079 kroner på dine 3 første måltidskasser fra HelloFresh og få en gratis dessert med ved hver bestilling de første 3 måneder hvis du er ny kunde - ved brug af min rabatkode KRISTINEFRESH25 eller ved at klikke på linket her: http://www.hellofresh.dk/KRISTINEFRESH25\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37", "8768a38e-a1b4-4571-a72e-c7c73911a774", 3, [], 964, false, "C4VNr3_SRjc", "https://www.youtube.com/watch?v=C4VNr3_SRjc", 35, "/downloads/shows/Livet på gården/Season 2025/s2025e021300 - Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37.mp4", false, false, false, 1, ~U[2025-02-13 15:00:15Z], ~U[2026-04-16 12:15:31Z], ~U[2026-04-16 12:15:31Z], "Denne video indeholder reklame for HelloFresh. \n\nI denne video kommer i med i løbet af mad-dag. Jeg er gravid i 3. trimester og er mere sulten end nogensinde før. Jeg spiser hvad jeg lyster og nemheden er vigtig for os lige nu da jeg er udfordret i de store indkøb - så derfor får vi måltidskasser fra HelloFresh. Det er nemt, lækkert og virkelig inspirerende. \n\nDu kan lige nu spare op til 1079 kroner på dine 3 første måltidskasser fra HelloFresh og få en gratis dessert med ved hver bestilling de første 3 måneder hvis du er ny kunde - ved brug af min rabatkode KRISTINEFRESH25 eller ved at klikke på linket her: http://www.hellofresh.dk/KRISTINEFRESH25\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37", 3, 964, false, "C4VNr3_SRjc", "https://www.youtube.com/watch?v=C4VNr3_SRjc", "/downloads/shows/Livet på gården/Season 2025/s2025e021300 - Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37.mp4", false, ~U[2025-02-13 15:00:15Z]] 14:15:31.459 [debug] QUERY OK source="sources" db=0.2ms idle=158.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:31.459 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:31.460 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [8385] 14:15:31.460 [debug] Current batch of media processed. Will check again in 1000ms 14:15:32.461 [debug] Current batch of media processed. Will check again in 1000ms 14:15:33.462 [debug] Current batch of media processed. Will check again in 1000ms 14:15:34.463 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode er der igen igen gang i rotterne, og vi beslutter os for at rydde hønsehus for sager og flytte æggestationen. Willy har haft en byld der er sprunget, og må akut til dyrelægen - og så giver jeg en update på hvordan det går både med mig og graviditeten.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1364, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e022000 - En skæv kat og en graviditetsupdate | Livet på gården Ep. 38.mp4", "id" => "y7cv58JT-FI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=y7cv58JT-FI", "playlist_index" => 36, "timestamp" => 1740063685, "title" => "En skæv kat og en graviditetsupdate | Livet på gården Ep. 38", "upload_date" => "20250220"} 14:15:34.464 [debug] QUERY OK source="sources" db=0.2ms idle=1043.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:34.464 [debug] QUERY OK source="sources" db=0.3ms idle=1043.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:34.465 [debug] QUERY OK source="media_items" db=0.5ms idle=1044.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-20 15:01:25Z], 3] 14:15:34.467 [debug] QUERY OK source="media_items" db=1.1ms idle=1045.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode er der igen igen gang i rotterne, og vi beslutter os for at rydde hønsehus for sager og flytte æggestationen. Willy har haft en byld der er sprunget, og må akut til dyrelægen - og så giver jeg en update på hvordan det går både med mig og graviditeten.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En skæv kat og en graviditetsupdate | Livet på gården Ep. 38", "9df4450f-e07e-430a-bb56-60ad7edd3f84", 3, [], 1364, false, "y7cv58JT-FI", "https://www.youtube.com/watch?v=y7cv58JT-FI", 36, "/downloads/shows/Livet på gården/Season 2025/s2025e022000 - En skæv kat og en graviditetsupdate | Livet på gården Ep. 38.mp4", false, false, false, 1, ~U[2025-02-20 15:01:25Z], ~U[2026-04-16 12:15:34Z], ~U[2026-04-16 12:15:34Z], "I denne episode er der igen igen gang i rotterne, og vi beslutter os for at rydde hønsehus for sager og flytte æggestationen. Willy har haft en byld der er sprunget, og må akut til dyrelægen - og så giver jeg en update på hvordan det går både med mig og graviditeten.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En skæv kat og en graviditetsupdate | Livet på gården Ep. 38", 3, 1364, false, "y7cv58JT-FI", "https://www.youtube.com/watch?v=y7cv58JT-FI", "/downloads/shows/Livet på gården/Season 2025/s2025e022000 - En skæv kat og en graviditetsupdate | Livet på gården Ep. 38.mp4", false, ~U[2025-02-20 15:01:25Z]] 14:15:34.468 [debug] QUERY OK source="sources" db=0.3ms idle=163.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:34.468 [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] 14:15:34.469 [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 [9710] 14:15:34.469 [debug] Current batch of media processed. Will check again in 1000ms 14:15:35.470 [debug] Current batch of media processed. Will check again in 1000ms 14:15:36.471 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården handler jeg ind til ugens madplan og så bruger vi en helt fantastisk og rolig dag udenfor. Mikkel får ordnet brænde og vi forbereder os så småt på foråret - for inden vi aner det holder Mikkel fri, for at nå så meget renovering af overetagen som muligt inden baby kommer.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1194, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e030600 - Indkøbshaul og forår i luften | Livet på gården Ep. 39.mp4", "id" => "lZWB5QR4wPQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lZWB5QR4wPQ", "playlist_index" => 37, "timestamp" => 1741273266, "title" => "Indkøbshaul og forår i luften | Livet på gården Ep. 39", "upload_date" => "20250306"} 14:15:36.472 [debug] QUERY OK source="sources" db=0.2ms idle=165.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:36.472 [debug] QUERY OK source="sources" db=0.2ms idle=51.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:36.473 [debug] QUERY OK source="media_items" db=0.3ms idle=52.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-06 15:01:06Z], 3] 14:15:36.474 [debug] QUERY OK source="media_items" db=0.8ms idle=53.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården handler jeg ind til ugens madplan og så bruger vi en helt fantastisk og rolig dag udenfor. Mikkel får ordnet brænde og vi forbereder os så småt på foråret - for inden vi aner det holder Mikkel fri, for at nå så meget renovering af overetagen som muligt inden baby kommer.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indkøbshaul og forår i luften | Livet på gården Ep. 39", "8469729a-d457-41d1-be10-907d110b1d1c", 3, [], 1194, false, "lZWB5QR4wPQ", "https://www.youtube.com/watch?v=lZWB5QR4wPQ", 37, "/downloads/shows/Livet på gården/Season 2025/s2025e030600 - Indkøbshaul og forår i luften | Livet på gården Ep. 39.mp4", false, false, false, 1, ~U[2025-03-06 15:01:06Z], ~U[2026-04-16 12:15:36Z], ~U[2026-04-16 12:15:36Z], "I dette afsnit af livet på gården handler jeg ind til ugens madplan og så bruger vi en helt fantastisk og rolig dag udenfor. Mikkel får ordnet brænde og vi forbereder os så småt på foråret - for inden vi aner det holder Mikkel fri, for at nå så meget renovering af overetagen som muligt inden baby kommer.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indkøbshaul og forår i luften | Livet på gården Ep. 39", 3, 1194, false, "lZWB5QR4wPQ", "https://www.youtube.com/watch?v=lZWB5QR4wPQ", "/downloads/shows/Livet på gården/Season 2025/s2025e030600 - Indkøbshaul og forår i luften | Livet på gården Ep. 39.mp4", false, ~U[2025-03-06 15:01:06Z]] 14:15:36.475 [debug] QUERY OK source="sources" db=0.1ms idle=54.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:36.475 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:36.476 [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 [13149] 14:15:36.476 [debug] Current batch of media processed. Will check again in 1000ms 14:15:37.476 [debug] Current batch of media processed. Will check again in 1000ms 14:15:38.477 [debug] Current batch of media processed. Will check again in 1000ms 14:15:39.478 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården tager jeg jer med ind i en tankestrøm på en af de svære dage. Hønsedamerne er endeligt begyndt at lægge æg, så det giver mening og så er mine forældre på besøg, og der sker som altid en masse. Jeg får endelig en fryser indenfor og så sætter min far og Mikkel en midlertidig trappe op, så vi så småt kan begynde på overetagen!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1167, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e031300 - En træt krop og en trappe til overetagen | Livet på gården Ep. 40.mp4", "id" => "Ok2_GV07ZBQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ok2_GV07ZBQ", "playlist_index" => 38, "timestamp" => 1741878023, "title" => "En træt krop og en trappe til overetagen | Livet på gården Ep. 40", "upload_date" => "20250313"} 14:15:39.479 [debug] QUERY OK source="sources" db=0.2ms idle=1058.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:39.479 [debug] QUERY OK source="sources" db=0.2ms idle=1059.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:39.480 [debug] QUERY OK source="media_items" db=0.3ms idle=1059.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-13 15:00:23Z], 3] 14:15:39.481 [debug] QUERY OK source="media_items" db=0.8ms idle=1060.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården tager jeg jer med ind i en tankestrøm på en af de svære dage. Hønsedamerne er endeligt begyndt at lægge æg, så det giver mening og så er mine forældre på besøg, og der sker som altid en masse. Jeg får endelig en fryser indenfor og så sætter min far og Mikkel en midlertidig trappe op, så vi så småt kan begynde på overetagen!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En træt krop og en trappe til overetagen | Livet på gården Ep. 40", "b011b28a-39f0-439c-b8e1-9e9230db25e6", 3, [], 1167, false, "Ok2_GV07ZBQ", "https://www.youtube.com/watch?v=Ok2_GV07ZBQ", 38, "/downloads/shows/Livet på gården/Season 2025/s2025e031300 - En træt krop og en trappe til overetagen | Livet på gården Ep. 40.mp4", false, false, false, 1, ~U[2025-03-13 15:00:23Z], ~U[2026-04-16 12:15:39Z], ~U[2026-04-16 12:15:39Z], "I dette afsnit af livet på gården tager jeg jer med ind i en tankestrøm på en af de svære dage. Hønsedamerne er endeligt begyndt at lægge æg, så det giver mening og så er mine forældre på besøg, og der sker som altid en masse. Jeg får endelig en fryser indenfor og så sætter min far og Mikkel en midlertidig trappe op, så vi så småt kan begynde på overetagen!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En træt krop og en trappe til overetagen | Livet på gården Ep. 40", 3, 1167, false, "Ok2_GV07ZBQ", "https://www.youtube.com/watch?v=Ok2_GV07ZBQ", "/downloads/shows/Livet på gården/Season 2025/s2025e031300 - En træt krop og en trappe til overetagen | Livet på gården Ep. 40.mp4", false, ~U[2025-03-13 15:00:23Z]] 14:15:39.482 [debug] QUERY OK source="sources" db=0.2ms idle=172.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:39.482 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:39.483 [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 [15018] 14:15:39.483 [debug] Current batch of media processed. Will check again in 1000ms 14:15:40.484 [debug] Current batch of media processed. Will check again in 1000ms 14:15:41.485 [debug] Current batch of media processed. Will check again in 1000ms 14:15:42.486 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Der er sket meget siden sidst - jeg har født! Men inden da filmede jeg en masse gode sager, som jeg ikke synes i skal gå glip af. Blandt andet at vi er ramt af nesting syndrom og pludselig må have nye møbler og gardiner - og udenfor er Mikkel som altid i fuld gang - med bål og klargøring af drivhus. Pænt sidder jeg meget tyk og træt og kigger på imens. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1161, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e050800 - En baby og nesting mode | Livet på gården Ep. 41.mp4", "id" => "_dr97qz8fXE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_dr97qz8fXE", "playlist_index" => 39, "timestamp" => 1746712848, "title" => "En baby og nesting mode | Livet på gården Ep. 41", "upload_date" => "20250508"} 14:15:42.487 [debug] QUERY OK source="sources" db=0.2ms idle=1066.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:42.487 [debug] QUERY OK source="sources" db=0.1ms idle=1066.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:42.488 [debug] QUERY OK source="media_items" db=0.3ms idle=1067.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-08 14:00:48Z], 3] 14:15:42.489 [debug] QUERY OK source="media_items" db=0.9ms idle=1068.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Der er sket meget siden sidst - jeg har født! Men inden da filmede jeg en masse gode sager, som jeg ikke synes i skal gå glip af. Blandt andet at vi er ramt af nesting syndrom og pludselig må have nye møbler og gardiner - og udenfor er Mikkel som altid i fuld gang - med bål og klargøring af drivhus. Pænt sidder jeg meget tyk og træt og kigger på imens. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En baby og nesting mode | Livet på gården Ep. 41", "36c8b250-97eb-4f2d-a621-e9b170d1621e", 3, [], 1161, false, "_dr97qz8fXE", "https://www.youtube.com/watch?v=_dr97qz8fXE", 39, "/downloads/shows/Livet på gården/Season 2025/s2025e050800 - En baby og nesting mode | Livet på gården Ep. 41.mp4", false, false, false, 1, ~U[2025-05-08 14:00:48Z], ~U[2026-04-16 12:15:42Z], ~U[2026-04-16 12:15:42Z], "Der er sket meget siden sidst - jeg har født! Men inden da filmede jeg en masse gode sager, som jeg ikke synes i skal gå glip af. Blandt andet at vi er ramt af nesting syndrom og pludselig må have nye møbler og gardiner - og udenfor er Mikkel som altid i fuld gang - med bål og klargøring af drivhus. Pænt sidder jeg meget tyk og træt og kigger på imens. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En baby og nesting mode | Livet på gården Ep. 41", 3, 1161, false, "_dr97qz8fXE", "https://www.youtube.com/watch?v=_dr97qz8fXE", "/downloads/shows/Livet på gården/Season 2025/s2025e050800 - En baby og nesting mode | Livet på gården Ep. 41.mp4", false, ~U[2025-05-08 14:00:48Z]] 14:15:42.490 [debug] QUERY OK source="sources" db=0.3ms idle=176.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:42.490 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:42.491 [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 [31596] 14:15:42.491 [debug] Current batch of media processed. Will check again in 1000ms 14:15:43.492 [debug] Current batch of media processed. Will check again in 1000ms 14:15:44.493 [debug] Current batch of media processed. Will check again in 1000ms 14:15:45.494 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit handler det om knækbrød og køkkentid og rotter. Og så tager jeg en snak om grisene og hønsene, jeg er nemlig kommet i tvivl om det giver mening økonomisk at have grise som alligevel ikke bliver slagteklar forløbig. Hønsene vender vi også. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1565, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e051500 - Knækbrød og en snak om økonomien | Livet på gården Ep. 42.mp4", "id" => "XyfY9KQlii8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XyfY9KQlii8", "playlist_index" => 40, "timestamp" => 1747317649, "title" => "Knækbrød og en snak om økonomien | Livet på gården Ep. 42", "upload_date" => "20250515"} 14:15:45.495 [debug] QUERY OK source="sources" db=0.2ms idle=1074.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:45.495 [debug] QUERY OK source="sources" db=0.2ms idle=1074.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:45.496 [debug] QUERY OK source="media_items" db=0.3ms idle=1075.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-15 14:00:49Z], 3] 14:15:45.497 [debug] QUERY OK source="media_items" db=0.8ms idle=1076.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit handler det om knækbrød og køkkentid og rotter. Og så tager jeg en snak om grisene og hønsene, jeg er nemlig kommet i tvivl om det giver mening økonomisk at have grise som alligevel ikke bliver slagteklar forløbig. Hønsene vender vi også. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Knækbrød og en snak om økonomien | Livet på gården Ep. 42", "e7ad62bf-af3d-4116-a349-ed6a7386b9c7", 3, [], 1565, false, "XyfY9KQlii8", "https://www.youtube.com/watch?v=XyfY9KQlii8", 40, "/downloads/shows/Livet på gården/Season 2025/s2025e051500 - Knækbrød og en snak om økonomien | Livet på gården Ep. 42.mp4", false, false, false, 1, ~U[2025-05-15 14:00:49Z], ~U[2026-04-16 12:15:45Z], ~U[2026-04-16 12:15:45Z], "I dette afsnit handler det om knækbrød og køkkentid og rotter. Og så tager jeg en snak om grisene og hønsene, jeg er nemlig kommet i tvivl om det giver mening økonomisk at have grise som alligevel ikke bliver slagteklar forløbig. Hønsene vender vi også. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Knækbrød og en snak om økonomien | Livet på gården Ep. 42", 3, 1565, false, "XyfY9KQlii8", "https://www.youtube.com/watch?v=XyfY9KQlii8", "/downloads/shows/Livet på gården/Season 2025/s2025e051500 - Knækbrød og en snak om økonomien | Livet på gården Ep. 42.mp4", false, ~U[2025-05-15 14:00:49Z]] 14:15:45.498 [debug] QUERY OK source="sources" db=0.2ms idle=180.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:45.498 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:45.499 [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 [33551] 14:15:45.499 [debug] Current batch of media processed. Will check again in 1000ms 14:15:46.500 [debug] Current batch of media processed. Will check again in 1000ms 14:15:47.501 [debug] Current batch of media processed. Will check again in 1000ms 14:15:48.502 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er der indkøbshaul, som synger på sidste vers inden jeg skal føde, da det simpelthen er for hårdt for mig at handle selv. Jeg forbereder mad til fryseren så der er godt mad til efter fødslen, og så har vi taget en stor beslutning om at pille taget af liiige kvart i termin og det sætter mine nerver på spidsen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1220, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e052200 - En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43.mp4", "id" => "4lsBpblT134", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4lsBpblT134", "playlist_index" => 41, "timestamp" => 1747922414, "title" => "En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43", "upload_date" => "20250522"} 14:15:48.503 [debug] QUERY OK source="sources" db=0.3ms idle=1082.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:48.503 [debug] QUERY OK source="sources" db=0.1ms idle=1083.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:48.504 [debug] QUERY OK source="media_items" db=0.3ms idle=1083.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-22 14:00:14Z], 3] 14:15:48.541 [debug] QUERY OK source="media_items" db=36.2ms idle=1084.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der indkøbshaul, som synger på sidste vers inden jeg skal føde, da det simpelthen er for hårdt for mig at handle selv. Jeg forbereder mad til fryseren så der er godt mad til efter fødslen, og så har vi taget en stor beslutning om at pille taget af liiige kvart i termin og det sætter mine nerver på spidsen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43", "711d0a85-b7c1-4d9a-a505-caac49f5202b", 3, [], 1220, false, "4lsBpblT134", "https://www.youtube.com/watch?v=4lsBpblT134", 41, "/downloads/shows/Livet på gården/Season 2025/s2025e052200 - En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43.mp4", false, false, false, 1, ~U[2025-05-22 14:00:14Z], ~U[2026-04-16 12:15:48Z], ~U[2026-04-16 12:15:48Z], "I dette afsnit er der indkøbshaul, som synger på sidste vers inden jeg skal føde, da det simpelthen er for hårdt for mig at handle selv. Jeg forbereder mad til fryseren så der er godt mad til efter fødslen, og så har vi taget en stor beslutning om at pille taget af liiige kvart i termin og det sætter mine nerver på spidsen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43", 3, 1220, false, "4lsBpblT134", "https://www.youtube.com/watch?v=4lsBpblT134", "/downloads/shows/Livet på gården/Season 2025/s2025e052200 - En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43.mp4", false, ~U[2025-05-22 14:00:14Z]] 14:15:48.541 [debug] QUERY OK source="sources" db=0.3ms idle=221.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:48.542 [debug] QUERY OK source="media_profiles" db=0.1ms idle=38.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:48.542 [debug] QUERY OK source="media_items" db=0.2ms idle=38.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 [35686] 14:15:48.542 [debug] Current batch of media processed. Will check again in 1000ms 14:15:49.543 [debug] Current batch of media processed. Will check again in 1000ms 14:15:50.544 [debug] Current batch of media processed. Will check again in 1000ms 14:15:51.545 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er jeg for alvor ved at være udfordret af min graviditet, jeg er kæmpe stor med meget væske i kroppen, alt imens at Mikkel knokler i døgndrift på at lave nyt tag. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1273, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e052900 - Højgravid og et hus uden tag | Livet på gården Ep. 44.mp4", "id" => "LwViuowDYFk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LwViuowDYFk", "playlist_index" => 42, "timestamp" => 1748527235, "title" => "Højgravid og et hus uden tag | Livet på gården Ep. 44", "upload_date" => "20250529"} 14:15:51.546 [debug] QUERY OK source="sources" db=0.3ms idle=1125.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:51.546 [debug] QUERY OK source="sources" db=0.1ms idle=1126.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:51.547 [debug] QUERY OK source="media_items" db=0.3ms idle=1126.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-29 14:00:35Z], 3] 14:15:51.548 [debug] QUERY OK source="media_items" db=0.7ms idle=1127.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er jeg for alvor ved at være udfordret af min graviditet, jeg er kæmpe stor med meget væske i kroppen, alt imens at Mikkel knokler i døgndrift på at lave nyt tag. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Højgravid og et hus uden tag | Livet på gården Ep. 44", "6e8dcb14-b787-4b7a-b6e1-95ad8e73be70", 3, [], 1273, false, "LwViuowDYFk", "https://www.youtube.com/watch?v=LwViuowDYFk", 42, "/downloads/shows/Livet på gården/Season 2025/s2025e052900 - Højgravid og et hus uden tag | Livet på gården Ep. 44.mp4", false, false, false, 1, ~U[2025-05-29 14:00:35Z], ~U[2026-04-16 12:15:51Z], ~U[2026-04-16 12:15:51Z], "I dette afsnit er jeg for alvor ved at være udfordret af min graviditet, jeg er kæmpe stor med meget væske i kroppen, alt imens at Mikkel knokler i døgndrift på at lave nyt tag. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Højgravid og et hus uden tag | Livet på gården Ep. 44", 3, 1273, false, "LwViuowDYFk", "https://www.youtube.com/watch?v=LwViuowDYFk", "/downloads/shows/Livet på gården/Season 2025/s2025e052900 - Højgravid og et hus uden tag | Livet på gården Ep. 44.mp4", false, ~U[2025-05-29 14:00:35Z]] 14:15:51.549 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=225.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:51.549 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:51.550 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [37791] 14:15:51.550 [debug] Current batch of media processed. Will check again in 1000ms 14:15:52.551 [debug] Current batch of media processed. Will check again in 1000ms 14:15:53.552 [debug] Current batch of media processed. Will check again in 1000ms 14:15:54.553 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit tager det hele pludselig en drejning da vi en dag er ved jordemoder og mit blodtryk er alt for højt. Efter tjek kommer vi hjem og når lige at rykke grisenes indhegning, før det desværre bliver nødvendigt at indlægge mig grundet svangerskabsforgiftning og diabetes. Og pludselig ser vi ind i en igangsættelse frem for en naturlig start på fødslen.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1394, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e060500 - Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45.mp4", "id" => "QVFwXhDMin4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QVFwXhDMin4", "playlist_index" => 43, "timestamp" => 1749132041, "title" => "Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45", "upload_date" => "20250605"} 14:15:54.554 [debug] QUERY OK source="sources" db=0.4ms idle=1133.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:54.554 [debug] QUERY OK source="sources" db=0.2ms idle=1134.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:54.555 [debug] QUERY OK source="media_items" db=0.3ms idle=1134.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-05 14:00:41Z], 3] 14:15:54.557 [debug] QUERY OK source="media_items" db=1.2ms idle=1135.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager det hele pludselig en drejning da vi en dag er ved jordemoder og mit blodtryk er alt for højt. Efter tjek kommer vi hjem og når lige at rykke grisenes indhegning, før det desværre bliver nødvendigt at indlægge mig grundet svangerskabsforgiftning og diabetes. Og pludselig ser vi ind i en igangsættelse frem for en naturlig start på fødslen.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45", "01092a1a-e371-4090-b9a9-4e5bb07c9b92", 3, [], 1394, false, "QVFwXhDMin4", "https://www.youtube.com/watch?v=QVFwXhDMin4", 43, "/downloads/shows/Livet på gården/Season 2025/s2025e060500 - Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45.mp4", false, false, false, 1, ~U[2025-06-05 14:00:41Z], ~U[2026-04-16 12:15:54Z], ~U[2026-04-16 12:15:54Z], "I dette afsnit tager det hele pludselig en drejning da vi en dag er ved jordemoder og mit blodtryk er alt for højt. Efter tjek kommer vi hjem og når lige at rykke grisenes indhegning, før det desværre bliver nødvendigt at indlægge mig grundet svangerskabsforgiftning og diabetes. Og pludselig ser vi ind i en igangsættelse frem for en naturlig start på fødslen.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45", 3, 1394, false, "QVFwXhDMin4", "https://www.youtube.com/watch?v=QVFwXhDMin4", "/downloads/shows/Livet på gården/Season 2025/s2025e060500 - Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45.mp4", false, ~U[2025-06-05 14:00:41Z]] 14:15:54.557 [debug] QUERY OK source="sources" db=0.1ms idle=229.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:54.558 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:54.558 [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 [39841] 14:15:54.558 [debug] Current batch of media processed. Will check again in 1000ms 14:15:55.559 [debug] Current batch of media processed. Will check again in 1000ms 14:15:56.560 [debug] Current batch of media processed. Will check again in 1000ms 14:15:57.561 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit bliver 2 endelig til 3 når vi bliver forældre til den fineste lille pige. Vi kommer hjem i god behold, jeg er stadig noget medtaget efter en hård fødsel.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1290, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e061200 - Når 2 bliver til 3 | Livet på gården Ep. 46.mp4", "id" => "-rvS4KsyD-8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-rvS4KsyD-8", "playlist_index" => 44, "timestamp" => 1749736800, "title" => "Når 2 bliver til 3 | Livet på gården Ep. 46", "upload_date" => "20250612"} 14:15:57.562 [debug] QUERY OK source="sources" db=0.2ms idle=1136.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:15:57.562 [debug] QUERY OK source="sources" db=0.1ms idle=1136.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:57.563 [debug] QUERY OK source="media_items" db=0.4ms idle=1137.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-12 14:00:00Z], 3] 14:15:57.564 [debug] QUERY OK source="media_items" db=0.7ms idle=1138.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit bliver 2 endelig til 3 når vi bliver forældre til den fineste lille pige. Vi kommer hjem i god behold, jeg er stadig noget medtaget efter en hård fødsel.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Når 2 bliver til 3 | Livet på gården Ep. 46", "526e3131-d947-4af2-a197-89e9af883959", 3, [], 1290, false, "-rvS4KsyD-8", "https://www.youtube.com/watch?v=-rvS4KsyD-8", 44, "/downloads/shows/Livet på gården/Season 2025/s2025e061200 - Når 2 bliver til 3 | Livet på gården Ep. 46.mp4", false, false, false, 1, ~U[2025-06-12 14:00:00Z], ~U[2026-04-16 12:15:57Z], ~U[2026-04-16 12:15:57Z], "I dette afsnit bliver 2 endelig til 3 når vi bliver forældre til den fineste lille pige. Vi kommer hjem i god behold, jeg er stadig noget medtaget efter en hård fødsel.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Når 2 bliver til 3 | Livet på gården Ep. 46", 3, 1290, false, "-rvS4KsyD-8", "https://www.youtube.com/watch?v=-rvS4KsyD-8", "/downloads/shows/Livet på gården/Season 2025/s2025e061200 - Når 2 bliver til 3 | Livet på gården Ep. 46.mp4", false, ~U[2025-06-12 14:00:00Z]] 14:15:57.565 [debug] QUERY OK source="sources" db=0.2ms idle=232.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:15:57.565 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:57.566 [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 [42004] 14:15:57.566 [debug] Current batch of media processed. Will check again in 1000ms 14:15:58.569 [debug] Current batch of media processed. Will check again in 1000ms 14:15:59.570 [debug] Current batch of media processed. Will check again in 1000ms 14:16:00.484 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:16:00.513 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:00.571 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er vi for alvor faldet på plads derhjemme igen efter en hård omgang og tilvænning efter fødslen. Vi er begge 2 på barsel og nyder det - nogle mere end andre. Som altid har Mikkel gang i alt muligt og kan ikke sidde stille. Hønsene skrukker og køkkenhaven er kaos - så alt er som det plejer på denne tid af året. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1248, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e061900 - Barselsbobbel og køkkenhave | Livet på gården Ep. 47.mp4", "id" => "L8u8ZcjpR6A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=L8u8ZcjpR6A", "playlist_index" => 45, "timestamp" => 1750341628, "title" => "Barselsbobbel og køkkenhave | Livet på gården Ep. 47", "upload_date" => "20250619"} 14:16:00.572 [debug] QUERY OK source="sources" db=0.2ms idle=1146.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:00.572 [debug] QUERY OK source="sources" db=0.1ms idle=1146.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:00.573 [debug] QUERY OK source="media_items" db=0.3ms idle=236.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-19 14:00:28Z], 3] 14:16:00.574 [debug] QUERY OK source="media_items" db=0.8ms idle=88.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi for alvor faldet på plads derhjemme igen efter en hård omgang og tilvænning efter fødslen. Vi er begge 2 på barsel og nyder det - nogle mere end andre. Som altid har Mikkel gang i alt muligt og kan ikke sidde stille. Hønsene skrukker og køkkenhaven er kaos - så alt er som det plejer på denne tid af året. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Barselsbobbel og køkkenhave | Livet på gården Ep. 47", "38a758f5-906e-431d-9791-296b1d848a9b", 3, [], 1248, false, "L8u8ZcjpR6A", "https://www.youtube.com/watch?v=L8u8ZcjpR6A", 45, "/downloads/shows/Livet på gården/Season 2025/s2025e061900 - Barselsbobbel og køkkenhave | Livet på gården Ep. 47.mp4", false, false, false, 1, ~U[2025-06-19 14:00:28Z], ~U[2026-04-16 12:16:00Z], ~U[2026-04-16 12:16:00Z], "I dette afsnit er vi for alvor faldet på plads derhjemme igen efter en hård omgang og tilvænning efter fødslen. Vi er begge 2 på barsel og nyder det - nogle mere end andre. Som altid har Mikkel gang i alt muligt og kan ikke sidde stille. Hønsene skrukker og køkkenhaven er kaos - så alt er som det plejer på denne tid af året. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Barselsbobbel og køkkenhave | Livet på gården Ep. 47", 3, 1248, false, "L8u8ZcjpR6A", "https://www.youtube.com/watch?v=L8u8ZcjpR6A", "/downloads/shows/Livet på gården/Season 2025/s2025e061900 - Barselsbobbel og køkkenhave | Livet på gården Ep. 47.mp4", false, ~U[2025-06-19 14:00:28Z]] 14:16:00.574 [debug] QUERY OK source="sources" db=0.1ms idle=61.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:00.575 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:00.575 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [44155] 14:16:00.575 [debug] Current batch of media processed. Will check again in 1000ms 14:16:01.576 [debug] Current batch of media processed. Will check again in 1000ms 14:16:02.577 [debug] Current batch of media processed. Will check again in 1000ms 14:16:03.578 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for Segway Navimow | I dette afsnit er vi kommet i haven, fordi vi har fået intet mindre end en enormt fancy robotplæneklipper - og selvom Mikkel er meget glad for sin havetraktor, så er han altså ikke til at styre. \n\nLæs mere om plæneklipperen her: http://bit.ly/4lwNXrf\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 885, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e062600 - Ny plæneklipper og en glad mand | Livet på gården Ep. 48.mp4", "id" => "W_VQNTe2uV0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=W_VQNTe2uV0", "playlist_index" => 46, "timestamp" => 1750946446, "title" => "Ny plæneklipper og en glad mand | Livet på gården Ep. 48", "upload_date" => "20250626"} 14:16:03.579 [debug] QUERY OK source="sources" db=0.2ms idle=1153.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:03.579 [debug] QUERY OK source="sources" db=0.1ms idle=1153.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:03.580 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1154.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-26 14:00:46Z], 3] 14:16:03.582 [debug] QUERY OK source="media_items" db=0.8ms idle=1155.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for Segway Navimow | I dette afsnit er vi kommet i haven, fordi vi har fået intet mindre end en enormt fancy robotplæneklipper - og selvom Mikkel er meget glad for sin havetraktor, så er han altså ikke til at styre. \n\nLæs mere om plæneklipperen her: http://bit.ly/4lwNXrf\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny plæneklipper og en glad mand | Livet på gården Ep. 48", "5985fbe6-e604-457e-9b29-16af53f49bd0", 3, [], 885, false, "W_VQNTe2uV0", "https://www.youtube.com/watch?v=W_VQNTe2uV0", 46, "/downloads/shows/Livet på gården/Season 2025/s2025e062600 - Ny plæneklipper og en glad mand | Livet på gården Ep. 48.mp4", false, false, false, 1, ~U[2025-06-26 14:00:46Z], ~U[2026-04-16 12:16:03Z], ~U[2026-04-16 12:16:03Z], "Denne video indeholder reklame for Segway Navimow | I dette afsnit er vi kommet i haven, fordi vi har fået intet mindre end en enormt fancy robotplæneklipper - og selvom Mikkel er meget glad for sin havetraktor, så er han altså ikke til at styre. \n\nLæs mere om plæneklipperen her: http://bit.ly/4lwNXrf\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny plæneklipper og en glad mand | Livet på gården Ep. 48", 3, 885, false, "W_VQNTe2uV0", "https://www.youtube.com/watch?v=W_VQNTe2uV0", "/downloads/shows/Livet på gården/Season 2025/s2025e062600 - Ny plæneklipper og en glad mand | Livet på gården Ep. 48.mp4", false, ~U[2025-06-26 14:00:46Z]] 14:16:03.582 [debug] QUERY OK source="sources" db=0.2ms idle=242.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:03.583 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:03.583 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [46349] 14:16:03.583 [debug] Current batch of media processed. Will check again in 1000ms 14:16:04.584 [debug] Current batch of media processed. Will check again in 1000ms 14:16:05.585 [debug] Current batch of media processed. Will check again in 1000ms 14:16:06.586 [debug] Current batch of media processed. Will check again in 1000ms 14:16:07.587 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er det endelig blevet maj og tid til at sætte tomater i drivhuset. I år er de købt, men de får samme start som mine tomater altid gør. Jeg kommer med mine bedste tips og tricks. Og så tager vi en snak om byggeriet og alle vores sommer planer. Mikkel får travlt, som altid. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1455, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e070300 - Tomater og byggemøde | Livet på gården Ep. 49.mp4", "id" => "LOW7BsM3muw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LOW7BsM3muw", "playlist_index" => 47, "timestamp" => 1751551238, "title" => "Tomater og byggemøde | Livet på gården Ep. 49", "upload_date" => "20250703"} 14:16:07.588 [debug] QUERY OK source="sources" db=0.2ms idle=243.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:07.588 [debug] QUERY OK source="sources" db=0.1ms idle=162.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:07.589 [debug] QUERY OK source="media_items" db=0.4ms idle=163.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-03 14:00:38Z], 3] 14:16:07.590 [debug] QUERY OK source="media_items" db=0.7ms idle=164.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er det endelig blevet maj og tid til at sætte tomater i drivhuset. I år er de købt, men de får samme start som mine tomater altid gør. Jeg kommer med mine bedste tips og tricks. Og så tager vi en snak om byggeriet og alle vores sommer planer. Mikkel får travlt, som altid. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tomater og byggemøde | Livet på gården Ep. 49", "e08404dd-6da6-470a-983b-85c88447bb2d", 3, [], 1455, false, "LOW7BsM3muw", "https://www.youtube.com/watch?v=LOW7BsM3muw", 47, "/downloads/shows/Livet på gården/Season 2025/s2025e070300 - Tomater og byggemøde | Livet på gården Ep. 49.mp4", false, false, false, 1, ~U[2025-07-03 14:00:38Z], ~U[2026-04-16 12:16:07Z], ~U[2026-04-16 12:16:07Z], "I dette afsnit er det endelig blevet maj og tid til at sætte tomater i drivhuset. I år er de købt, men de får samme start som mine tomater altid gør. Jeg kommer med mine bedste tips og tricks. Og så tager vi en snak om byggeriet og alle vores sommer planer. Mikkel får travlt, som altid. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tomater og byggemøde | Livet på gården Ep. 49", 3, 1455, false, "LOW7BsM3muw", "https://www.youtube.com/watch?v=LOW7BsM3muw", "/downloads/shows/Livet på gården/Season 2025/s2025e070300 - Tomater og byggemøde | Livet på gården Ep. 49.mp4", false, ~U[2025-07-03 14:00:38Z]] 14:16:07.591 [debug] QUERY OK source="sources" db=0.1ms idle=165.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:07.591 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:07.592 [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 [48526] 14:16:07.592 [debug] Current batch of media processed. Will check again in 1000ms 14:16:08.592 [debug] Current batch of media processed. Will check again in 1000ms 14:16:09.593 [debug] Current batch of media processed. Will check again in 1000ms 14:16:10.594 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit har jeg tømt keramikovnen for første gang længe, jeg er i haven for første gang længe og er så småt ved at komme tilbage til mit før. Men fødslen har sat sine spor og det tager jeg en snak om i dette afsnit. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1048, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e071000 - Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50.mp4", "id" => "eRwqESemLz0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eRwqESemLz0", "playlist_index" => 48, "timestamp" => 1752156067, "title" => "Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50", "upload_date" => "20250710"} 14:16:10.595 [debug] QUERY OK source="sources" db=0.2ms idle=1169.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:10.595 [debug] QUERY OK source="sources" db=0.1ms idle=1169.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:10.596 [debug] QUERY OK source="media_items" db=0.3ms idle=1170.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-10 14:01:07Z], 3] 14:16:10.597 [debug] QUERY OK source="media_items" db=0.8ms idle=1171.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har jeg tømt keramikovnen for første gang længe, jeg er i haven for første gang længe og er så småt ved at komme tilbage til mit før. Men fødslen har sat sine spor og det tager jeg en snak om i dette afsnit. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50", "8838ede8-7201-4fba-8af8-baa7c9a47db7", 3, [], 1048, false, "eRwqESemLz0", "https://www.youtube.com/watch?v=eRwqESemLz0", 48, "/downloads/shows/Livet på gården/Season 2025/s2025e071000 - Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50.mp4", false, false, false, 1, ~U[2025-07-10 14:01:07Z], ~U[2026-04-16 12:16:10Z], ~U[2026-04-16 12:16:10Z], "I dette afsnit har jeg tømt keramikovnen for første gang længe, jeg er i haven for første gang længe og er så småt ved at komme tilbage til mit før. Men fødslen har sat sine spor og det tager jeg en snak om i dette afsnit. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50", 3, 1048, false, "eRwqESemLz0", "https://www.youtube.com/watch?v=eRwqESemLz0", "/downloads/shows/Livet på gården/Season 2025/s2025e071000 - Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50.mp4", false, ~U[2025-07-10 14:01:07Z]] 14:16:10.598 [debug] QUERY OK source="sources" db=0.2ms idle=248.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:10.598 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:10.599 [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 [50818] 14:16:10.599 [debug] Current batch of media processed. Will check again in 1000ms 14:16:11.600 [debug] Current batch of media processed. Will check again in 1000ms 14:16:12.600 [debug] Current batch of media processed. Will check again in 1000ms 14:16:13.601 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit sker der en hulens masse sjove sager. Mikkel er i fuld gang med at lave vejen om og bygge det nye hegn. Vores datter er med i haven i bæreselen og jeg høster rabarberen. Og så er der dømt nyt udstyr og et haul af alt det gejl vi har fået hjem!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1223, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e071700 - Vores datter er med i haven | Livet på gården Ep. 51.mp4", "id" => "N_QTztIN_uE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=N_QTztIN_uE", "playlist_index" => 49, "timestamp" => 1752760837, "title" => "Vores datter er med i haven | Livet på gården Ep. 51", "upload_date" => "20250717"} 14:16:13.602 [debug] QUERY OK source="sources" db=0.2ms idle=1174.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:13.602 [debug] QUERY OK source="sources" db=0.1ms idle=1174.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:13.603 [debug] QUERY OK source="media_items" db=0.3ms idle=1175.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-17 14:00:37Z], 3] 14:16:13.604 [debug] QUERY OK source="media_items" db=0.7ms idle=1103.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit sker der en hulens masse sjove sager. Mikkel er i fuld gang med at lave vejen om og bygge det nye hegn. Vores datter er med i haven i bæreselen og jeg høster rabarberen. Og så er der dømt nyt udstyr og et haul af alt det gejl vi har fået hjem!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores datter er med i haven | Livet på gården Ep. 51", "078da346-9f8d-4842-a167-5d570039fb4a", 3, [], 1223, false, "N_QTztIN_uE", "https://www.youtube.com/watch?v=N_QTztIN_uE", 49, "/downloads/shows/Livet på gården/Season 2025/s2025e071700 - Vores datter er med i haven | Livet på gården Ep. 51.mp4", false, false, false, 1, ~U[2025-07-17 14:00:37Z], ~U[2026-04-16 12:16:13Z], ~U[2026-04-16 12:16:13Z], "I dette afsnit sker der en hulens masse sjove sager. Mikkel er i fuld gang med at lave vejen om og bygge det nye hegn. Vores datter er med i haven i bæreselen og jeg høster rabarberen. Og så er der dømt nyt udstyr og et haul af alt det gejl vi har fået hjem!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores datter er med i haven | Livet på gården Ep. 51", 3, 1223, false, "N_QTztIN_uE", "https://www.youtube.com/watch?v=N_QTztIN_uE", "/downloads/shows/Livet på gården/Season 2025/s2025e071700 - Vores datter er med i haven | Livet på gården Ep. 51.mp4", false, ~U[2025-07-17 14:00:37Z]] 14:16:13.604 [debug] QUERY OK source="sources" db=0.2ms idle=103.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:13.605 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:13.605 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [53152] 14:16:13.605 [debug] Current batch of media processed. Will check again in 1000ms 14:16:14.611 [debug] Current batch of media processed. Will check again in 1000ms 14:16:15.611 [debug] Current batch of media processed. Will check again in 1000ms 14:16:16.612 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video har vi en baby som er udfordret af tigerspring og dermed en træt mor. Mikkel knokler løs på taget fra morgen til aften og så sætter han lidt ord på hvad det er han har lavet, denne gang med en mikrofon - så man bedre kan høre ham, haha!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1213, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e081400 - Nyt tag på 3 dage | Livet på gården Ep. 52.mp4", "id" => "8KBS6AxLEhs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8KBS6AxLEhs", "playlist_index" => 50, "timestamp" => 1755180017, "title" => "Nyt tag på 3 dage | Livet på gården Ep. 52", "upload_date" => "20250814"} 14:16:16.613 [debug] QUERY OK source="sources" db=0.2ms idle=1185.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:16.613 [debug] QUERY OK source="sources" db=0.1ms idle=1185.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:16.614 [debug] QUERY OK source="media_items" db=0.3ms idle=1186.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 14:00:17Z], 3] 14:16:16.615 [debug] QUERY OK source="media_items" db=0.7ms idle=1111.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har vi en baby som er udfordret af tigerspring og dermed en træt mor. Mikkel knokler løs på taget fra morgen til aften og så sætter han lidt ord på hvad det er han har lavet, denne gang med en mikrofon - så man bedre kan høre ham, haha!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nyt tag på 3 dage | Livet på gården Ep. 52", "cc8b42d6-c6e1-4dfe-8a07-83fd16166848", 3, [], 1213, false, "8KBS6AxLEhs", "https://www.youtube.com/watch?v=8KBS6AxLEhs", 50, "/downloads/shows/Livet på gården/Season 2025/s2025e081400 - Nyt tag på 3 dage | Livet på gården Ep. 52.mp4", false, false, false, 1, ~U[2025-08-14 14:00:17Z], ~U[2026-04-16 12:16:16Z], ~U[2026-04-16 12:16:16Z], "I denne video har vi en baby som er udfordret af tigerspring og dermed en træt mor. Mikkel knokler løs på taget fra morgen til aften og så sætter han lidt ord på hvad det er han har lavet, denne gang med en mikrofon - så man bedre kan høre ham, haha!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nyt tag på 3 dage | Livet på gården Ep. 52", 3, 1213, false, "8KBS6AxLEhs", "https://www.youtube.com/watch?v=8KBS6AxLEhs", "/downloads/shows/Livet på gården/Season 2025/s2025e081400 - Nyt tag på 3 dage | Livet på gården Ep. 52.mp4", false, ~U[2025-08-14 14:00:17Z]] 14:16:16.616 [debug] QUERY OK source="sources" db=0.1ms idle=111.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:16.616 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:16.616 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [62172] 14:16:16.617 [debug] Current batch of media processed. Will check again in 1000ms 14:16:17.617 [debug] Current batch of media processed. Will check again in 1000ms 14:16:18.618 [debug] Current batch of media processed. Will check again in 1000ms 14:16:19.619 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit har Mikkel gang i bekæmpelsen af ukrudt, mens jeg giver mig i kast med loppehelvede i hønsehuset, som er INVARDERET! Det får den helt store tur og så er det bare at håbe at det er nok, for ellers skal jeg have anskaffet mig exholt og det er en dyr affære.. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1195, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e082100 - Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53.mp4", "id" => "xTCNmkJl7cs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xTCNmkJl7cs", "playlist_index" => 51, "timestamp" => 1755784885, "title" => "Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53", "upload_date" => "20250821"} 14:16:19.620 [debug] QUERY OK source="sources" db=0.2ms idle=1190.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:19.620 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1190.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:19.621 [debug] QUERY OK source="media_items" db=0.3ms idle=1191.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-21 14:01:25Z], 3] 14:16:19.622 [debug] QUERY OK source="media_items" db=0.7ms idle=1115.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har Mikkel gang i bekæmpelsen af ukrudt, mens jeg giver mig i kast med loppehelvede i hønsehuset, som er INVARDERET! Det får den helt store tur og så er det bare at håbe at det er nok, for ellers skal jeg have anskaffet mig exholt og det er en dyr affære.. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53", "5b9f1611-6501-48d8-b741-d0c6227d4839", 3, [], 1195, false, "xTCNmkJl7cs", "https://www.youtube.com/watch?v=xTCNmkJl7cs", 51, "/downloads/shows/Livet på gården/Season 2025/s2025e082100 - Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53.mp4", false, false, false, 1, ~U[2025-08-21 14:01:25Z], ~U[2026-04-16 12:16:19Z], ~U[2026-04-16 12:16:19Z], "I dette afsnit har Mikkel gang i bekæmpelsen af ukrudt, mens jeg giver mig i kast med loppehelvede i hønsehuset, som er INVARDERET! Det får den helt store tur og så er det bare at håbe at det er nok, for ellers skal jeg have anskaffet mig exholt og det er en dyr affære.. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53", 3, 1195, false, "xTCNmkJl7cs", "https://www.youtube.com/watch?v=xTCNmkJl7cs", "/downloads/shows/Livet på gården/Season 2025/s2025e082100 - Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53.mp4", false, ~U[2025-08-21 14:01:25Z]] 14:16:19.623 [debug] QUERY OK source="sources" db=0.1ms idle=115.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:19.623 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:19.623 [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 [63986] 14:16:19.624 [debug] Current batch of media processed. Will check again in 1000ms 14:16:20.625 [debug] Current batch of media processed. Will check again in 1000ms 14:16:21.626 [debug] Current batch of media processed. Will check again in 1000ms 14:16:22.627 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mikkel arbejder videre på taget og så tager vi en status på hønsehuset efter udrensning. Hønsene skrukker på stribe og der er semi krise over det. Malene kommer på besøg og får den store tour af køkkenhaven, vi laver mad sammen og tager en snak om hvorfor hun ikke længere arbejder hos mig.. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1652, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e082800 - Besøg af Malene og høns der skrukker | Livet på gården Ep. 54.mp4", "id" => "U_w3PIAVp40", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=U_w3PIAVp40", "playlist_index" => 52, "timestamp" => 1756389646, "title" => "Besøg af Malene og høns der skrukker | Livet på gården Ep. 54", "upload_date" => "20250828"} 14:16:22.628 [debug] QUERY OK source="sources" db=0.2ms idle=1198.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:22.628 [debug] QUERY OK source="sources" db=0.1ms idle=1198.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:22.629 [debug] QUERY OK source="media_items" db=0.3ms idle=1199.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-28 14:00:46Z], 3] 14:16:22.630 [debug] QUERY OK source="media_items" db=0.8ms idle=1115.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mikkel arbejder videre på taget og så tager vi en status på hønsehuset efter udrensning. Hønsene skrukker på stribe og der er semi krise over det. Malene kommer på besøg og får den store tour af køkkenhaven, vi laver mad sammen og tager en snak om hvorfor hun ikke længere arbejder hos mig.. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg af Malene og høns der skrukker | Livet på gården Ep. 54", "b7bd06c7-b17e-41a4-bdae-45f08602fbaf", 3, [], 1652, false, "U_w3PIAVp40", "https://www.youtube.com/watch?v=U_w3PIAVp40", 52, "/downloads/shows/Livet på gården/Season 2025/s2025e082800 - Besøg af Malene og høns der skrukker | Livet på gården Ep. 54.mp4", false, false, false, 1, ~U[2025-08-28 14:00:46Z], ~U[2026-04-16 12:16:22Z], ~U[2026-04-16 12:16:22Z], "Mikkel arbejder videre på taget og så tager vi en status på hønsehuset efter udrensning. Hønsene skrukker på stribe og der er semi krise over det. Malene kommer på besøg og får den store tour af køkkenhaven, vi laver mad sammen og tager en snak om hvorfor hun ikke længere arbejder hos mig.. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg af Malene og høns der skrukker | Livet på gården Ep. 54", 3, 1652, false, "U_w3PIAVp40", "https://www.youtube.com/watch?v=U_w3PIAVp40", "/downloads/shows/Livet på gården/Season 2025/s2025e082800 - Besøg af Malene og høns der skrukker | Livet på gården Ep. 54.mp4", false, ~U[2025-08-28 14:00:46Z]] 14:16:22.631 [debug] QUERY OK source="sources" db=0.1ms idle=115.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:22.631 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:22.631 [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 [66408] 14:16:22.632 [debug] Current batch of media processed. Will check again in 1000ms 14:16:23.632 [debug] Current batch of media processed. Will check again in 1000ms 14:16:24.633 [debug] Current batch of media processed. Will check again in 1000ms 14:16:25.634 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh. \n\nDu kan få 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder.\nRabatkode: B2SKRISTINE\nLink: www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1265, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e080700 - Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52.mp4", "id" => "oJHte_vjoV4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oJHte_vjoV4", "playlist_index" => 53, "timestamp" => 1754575283, "title" => "Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52", "upload_date" => "20250807"} 14:16:25.635 [debug] QUERY OK source="sources" db=0.2ms idle=1205.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:25.635 [debug] QUERY OK source="sources" db=0.1ms idle=1205.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:25.636 [debug] QUERY OK source="media_items" db=0.3ms idle=1206.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-07 14:01:23Z], 3] 14:16:25.637 [debug] QUERY OK source="media_items" db=0.7ms idle=1115.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nDu kan få 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder.\nRabatkode: B2SKRISTINE\nLink: www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52", "bf1fb2cb-1dc2-4382-8684-a024607f81f9", 3, [], 1265, false, "oJHte_vjoV4", "https://www.youtube.com/watch?v=oJHte_vjoV4", 53, "/downloads/shows/Livet på gården/Season 2025/s2025e080700 - Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52.mp4", false, false, false, 1, ~U[2025-08-07 14:01:23Z], ~U[2026-04-16 12:16:25Z], ~U[2026-04-16 12:16:25Z], "Denne video indeholder reklame for HelloFresh. \n\nDu kan få 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder.\nRabatkode: B2SKRISTINE\nLink: www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52", 3, 1265, false, "oJHte_vjoV4", "https://www.youtube.com/watch?v=oJHte_vjoV4", "/downloads/shows/Livet på gården/Season 2025/s2025e080700 - Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52.mp4", false, ~U[2025-08-07 14:01:23Z]] 14:16:25.638 [debug] QUERY OK source="sources" db=0.1ms idle=115.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:25.638 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:25.638 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [59883] 14:16:25.639 [debug] Current batch of media processed. Will check again in 1000ms 14:16:26.639 [debug] Current batch of media processed. Will check again in 1000ms 14:16:27.640 [debug] Current batch of media processed. Will check again in 1000ms 14:16:28.641 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit kommer i for første gang med op på overetagen og ser med når Mikkel bygger den anden kvist - det er også første gang jeg er deroppe, og jeg er mildest talt oppe at ringe over hvor fedt det bliver. Felix er på besøg og med i værkstedet og så har vi taget store beslutninger om fremtiden på gården. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1396, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e090400 - Felix laver keramik og vores store beslutning | Livet på gården Ep. 55.mp4", "id" => "gbe1EwOyOKY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gbe1EwOyOKY", "playlist_index" => 54, "timestamp" => 1756994468, "title" => "Felix laver keramik og vores store beslutning | Livet på gården Ep. 55", "upload_date" => "20250904"} 14:16:28.642 [debug] QUERY OK source="sources" db=0.2ms idle=1210.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:28.642 [debug] QUERY OK source="sources" db=0.1ms idle=1210.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:28.643 [debug] QUERY OK source="media_items" db=0.3ms idle=1211.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-04 14:01:08Z], 3] 14:16:28.644 [debug] QUERY OK source="media_items" db=0.8ms idle=1119.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i for første gang med op på overetagen og ser med når Mikkel bygger den anden kvist - det er også første gang jeg er deroppe, og jeg er mildest talt oppe at ringe over hvor fedt det bliver. Felix er på besøg og med i værkstedet og så har vi taget store beslutninger om fremtiden på gården. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix laver keramik og vores store beslutning | Livet på gården Ep. 55", "6f430c07-ab88-44e0-bd20-7fef6226bc0b", 3, [], 1396, false, "gbe1EwOyOKY", "https://www.youtube.com/watch?v=gbe1EwOyOKY", 54, "/downloads/shows/Livet på gården/Season 2025/s2025e090400 - Felix laver keramik og vores store beslutning | Livet på gården Ep. 55.mp4", false, false, false, 1, ~U[2025-09-04 14:01:08Z], ~U[2026-04-16 12:16:28Z], ~U[2026-04-16 12:16:28Z], "I dette afsnit kommer i for første gang med op på overetagen og ser med når Mikkel bygger den anden kvist - det er også første gang jeg er deroppe, og jeg er mildest talt oppe at ringe over hvor fedt det bliver. Felix er på besøg og med i værkstedet og så har vi taget store beslutninger om fremtiden på gården. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix laver keramik og vores store beslutning | Livet på gården Ep. 55", 3, 1396, false, "gbe1EwOyOKY", "https://www.youtube.com/watch?v=gbe1EwOyOKY", "/downloads/shows/Livet på gården/Season 2025/s2025e090400 - Felix laver keramik og vores store beslutning | Livet på gården Ep. 55.mp4", false, ~U[2025-09-04 14:01:08Z]] 14:16:28.645 [debug] QUERY OK source="sources" db=0.1ms idle=119.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:28.645 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:28.645 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [68913] 14:16:28.646 [debug] Current batch of media processed. Will check again in 1000ms 14:16:29.647 [debug] Current batch of media processed. Will check again in 1000ms 14:16:30.514 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:30.648 [debug] Current batch of media processed. Will check again in 1000ms 14:16:31.649 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1421, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e091100 - Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56.mp4", "id" => "aPr93nvV6Sc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aPr93nvV6Sc", "playlist_index" => 55, "timestamp" => 1757599202, "title" => "Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56", "upload_date" => "20250911"} 14:16:31.650 [debug] QUERY OK source="sources" db=0.2ms idle=1218.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:31.650 [debug] QUERY OK source="sources" db=0.1ms idle=1218.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:31.651 [debug] QUERY OK source="media_items" db=0.3ms idle=1136.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-11 14:00:02Z], 3] 14:16:31.652 [debug] QUERY OK source="media_items" db=0.7ms idle=1123.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56", "4a45ffeb-0d30-42ff-a186-9407ed6976f5", 3, [], 1421, false, "aPr93nvV6Sc", "https://www.youtube.com/watch?v=aPr93nvV6Sc", 55, "/downloads/shows/Livet på gården/Season 2025/s2025e091100 - Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56.mp4", false, false, false, 1, ~U[2025-09-11 14:00:02Z], ~U[2026-04-16 12:16:31Z], ~U[2026-04-16 12:16:31Z], "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56", 3, 1421, false, "aPr93nvV6Sc", "https://www.youtube.com/watch?v=aPr93nvV6Sc", "/downloads/shows/Livet på gården/Season 2025/s2025e091100 - Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56.mp4", false, ~U[2025-09-11 14:00:02Z]] 14:16:31.653 [debug] QUERY OK source="sources" db=0.1ms idle=123.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:31.653 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:31.653 [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 [71436] 14:16:31.654 [debug] Current batch of media processed. Will check again in 1000ms 14:16:32.654 [debug] Current batch of media processed. Will check again in 1000ms 14:16:33.655 [debug] Current batch of media processed. Will check again in 1000ms 14:16:34.656 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1020, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e091800 - Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57.mp4", "id" => "lLuYcnLpHk8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lLuYcnLpHk8", "playlist_index" => 56, "timestamp" => 1758204394, "title" => "Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57", "upload_date" => "20250918"} 14:16:34.657 [debug] QUERY OK source="sources" db=0.2ms idle=1224.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:34.657 [debug] QUERY OK source="sources" db=0.1ms idle=1224.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:34.658 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1225.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-18 14:06:34Z], 3] 14:16:34.659 [debug] QUERY OK source="media_items" db=0.7ms idle=1127.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57", "cf385d90-d9fb-446c-afde-37654b9b96aa", 3, [], 1020, false, "lLuYcnLpHk8", "https://www.youtube.com/watch?v=lLuYcnLpHk8", 56, "/downloads/shows/Livet på gården/Season 2025/s2025e091800 - Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57.mp4", false, false, false, 1, ~U[2025-09-18 14:06:34Z], ~U[2026-04-16 12:16:34Z], ~U[2026-04-16 12:16:34Z], "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57", 3, 1020, false, "lLuYcnLpHk8", "https://www.youtube.com/watch?v=lLuYcnLpHk8", "/downloads/shows/Livet på gården/Season 2025/s2025e091800 - Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57.mp4", false, ~U[2025-09-18 14:06:34Z]] 14:16:34.660 [debug] QUERY OK source="sources" db=0.1ms idle=127.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:34.660 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:34.660 [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 [73945] 14:16:34.661 [debug] Current batch of media processed. Will check again in 1000ms 14:16:35.661 [debug] Current batch of media processed. Will check again in 1000ms 14:16:36.662 [debug] Current batch of media processed. Will check again in 1000ms 14:16:37.663 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\nI dagens afsnit er vi i fuld gang. Jeg giver en status fra keramikken, jeg hjælper til når Mikkel sætter sig for at rive kradt og så forsøger vi os med en timelapse for første gang. Vi giver også en status på hvordan det går i hønsegården efter vi har skåret gevaldigt ned for antallet. Alt sammen i mens vores datter er i tigerspring og meget lidt vil sove.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1485, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e092500 - Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58.mp4", "id" => "rFwrB9Pe4hM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rFwrB9Pe4hM", "playlist_index" => 57, "timestamp" => 1758808893, "title" => "Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58", "upload_date" => "20250925"} 14:16:37.664 [debug] QUERY OK source="sources" db=0.2ms idle=1229.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:37.664 [debug] QUERY OK source="sources" db=0.1ms idle=1229.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:37.665 [debug] QUERY OK source="media_items" db=0.3ms idle=1230.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-25 14:01:33Z], 3] 14:16:37.668 [debug] QUERY OK source="media_items" db=2.3ms idle=1131.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\nI dagens afsnit er vi i fuld gang. Jeg giver en status fra keramikken, jeg hjælper til når Mikkel sætter sig for at rive kradt og så forsøger vi os med en timelapse for første gang. Vi giver også en status på hvordan det går i hønsegården efter vi har skåret gevaldigt ned for antallet. Alt sammen i mens vores datter er i tigerspring og meget lidt vil sove.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58", "399e2cb7-b4c5-4fe2-b13e-a1876a1c00a0", 3, [], 1485, false, "rFwrB9Pe4hM", "https://www.youtube.com/watch?v=rFwrB9Pe4hM", 57, "/downloads/shows/Livet på gården/Season 2025/s2025e092500 - Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58.mp4", false, false, false, 1, ~U[2025-09-25 14:01:33Z], ~U[2026-04-16 12:16:37Z], ~U[2026-04-16 12:16:37Z], "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\nI dagens afsnit er vi i fuld gang. Jeg giver en status fra keramikken, jeg hjælper til når Mikkel sætter sig for at rive kradt og så forsøger vi os med en timelapse for første gang. Vi giver også en status på hvordan det går i hønsegården efter vi har skåret gevaldigt ned for antallet. Alt sammen i mens vores datter er i tigerspring og meget lidt vil sove.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58", 3, 1485, false, "rFwrB9Pe4hM", "https://www.youtube.com/watch?v=rFwrB9Pe4hM", "/downloads/shows/Livet på gården/Season 2025/s2025e092500 - Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58.mp4", false, ~U[2025-09-25 14:01:33Z]] 14:16:37.668 [debug] QUERY OK source="sources" db=0.1ms idle=133.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:37.669 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:37.669 [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 [76480] 14:16:37.669 [debug] Current batch of media processed. Will check again in 1000ms 14:16:38.670 [debug] Current batch of media processed. Will check again in 1000ms 14:16:39.671 [debug] Current batch of media processed. Will check again in 1000ms 14:16:40.672 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit tager Mikkel mig med i hans store planer om både ny gårdsplads og fliselægning. Han fortsætter det sidste arbejde på kvisten og jeg trækker i arbejdstøjet og hjælper til med både byggeaffald og trimning af haven - samtidig med at vores baby fortsat sover skidt. Grisene flytter hjemmefra og jeg får sagt ordenligt farvel. Det er meget vemodigt, men også for det bedste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1641, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e100200 - Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59.mp4", "id" => "uEP1rtTb-XE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uEP1rtTb-XE", "playlist_index" => 58, "timestamp" => 1759413692, "title" => "Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59", "upload_date" => "20251002"} 14:16:40.673 [debug] QUERY OK source="sources" db=0.2ms idle=1238.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:40.673 [debug] QUERY OK source="sources" db=0.1ms idle=1238.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:40.674 [debug] QUERY OK source="media_items" db=0.3ms idle=1239.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-02 14:01:32Z], 3] 14:16:40.675 [debug] QUERY OK source="media_items" db=0.8ms idle=1137.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager Mikkel mig med i hans store planer om både ny gårdsplads og fliselægning. Han fortsætter det sidste arbejde på kvisten og jeg trækker i arbejdstøjet og hjælper til med både byggeaffald og trimning af haven - samtidig med at vores baby fortsat sover skidt. Grisene flytter hjemmefra og jeg får sagt ordenligt farvel. Det er meget vemodigt, men også for det bedste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59", "411c5fb2-ad2b-499e-8624-d746ad6f53f7", 3, [], 1641, false, "uEP1rtTb-XE", "https://www.youtube.com/watch?v=uEP1rtTb-XE", 58, "/downloads/shows/Livet på gården/Season 2025/s2025e100200 - Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59.mp4", false, false, false, 1, ~U[2025-10-02 14:01:32Z], ~U[2026-04-16 12:16:40Z], ~U[2026-04-16 12:16:40Z], "I dette afsnit tager Mikkel mig med i hans store planer om både ny gårdsplads og fliselægning. Han fortsætter det sidste arbejde på kvisten og jeg trækker i arbejdstøjet og hjælper til med både byggeaffald og trimning af haven - samtidig med at vores baby fortsat sover skidt. Grisene flytter hjemmefra og jeg får sagt ordenligt farvel. Det er meget vemodigt, men også for det bedste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59", 3, 1641, false, "uEP1rtTb-XE", "https://www.youtube.com/watch?v=uEP1rtTb-XE", "/downloads/shows/Livet på gården/Season 2025/s2025e100200 - Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59.mp4", false, ~U[2025-10-02 14:01:32Z]] 14:16:40.676 [debug] QUERY OK source="sources" db=0.2ms idle=137.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:40.676 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:40.677 [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 [79073] 14:16:40.677 [debug] Current batch of media processed. Will check again in 1000ms 14:16:41.681 [debug] Current batch of media processed. Will check again in 1000ms 14:16:42.682 [debug] Current batch of media processed. Will check again in 1000ms 14:16:43.683 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit kører vi på ferie i en bil der aldrig har været meget fyldt og vi har endda fået ny stor bil. Jeg døjer med hæmorider og så tager vi en klassisk tur rundt med Mikkel der fortæller om alle de ting han synes der skal fikses. Vi starter dog med at rykke et gammelt hønsehus og flytte vores ATV som er gået i stykker. Vi er også en tur i vores kaos af en have, hvor det eneste der fungere er én squash plante, som til gengæld også levere GIGANTISKE squash. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1534, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e100900 - Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60.mp4", "id" => "mCkvhf9YDCk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mCkvhf9YDCk", "playlist_index" => 59, "timestamp" => 1760018475, "title" => "Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60", "upload_date" => "20251009"} 14:16:43.684 [debug] QUERY OK source="sources" db=0.3ms idle=1249.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:43.684 [debug] QUERY OK source="sources" db=0.1ms idle=1250.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:43.685 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1250.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-09 14:01:15Z], 3] 14:16:43.687 [debug] QUERY OK source="media_items" db=1.1ms idle=1144.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kører vi på ferie i en bil der aldrig har været meget fyldt og vi har endda fået ny stor bil. Jeg døjer med hæmorider og så tager vi en klassisk tur rundt med Mikkel der fortæller om alle de ting han synes der skal fikses. Vi starter dog med at rykke et gammelt hønsehus og flytte vores ATV som er gået i stykker. Vi er også en tur i vores kaos af en have, hvor det eneste der fungere er én squash plante, som til gengæld også levere GIGANTISKE squash. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60", "f2b5a0c1-4044-4b94-b2d3-ad23654a37cc", 3, [], 1534, false, "mCkvhf9YDCk", "https://www.youtube.com/watch?v=mCkvhf9YDCk", 59, "/downloads/shows/Livet på gården/Season 2025/s2025e100900 - Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60.mp4", false, false, false, 1, ~U[2025-10-09 14:01:15Z], ~U[2026-04-16 12:16:43Z], ~U[2026-04-16 12:16:43Z], "I dette afsnit kører vi på ferie i en bil der aldrig har været meget fyldt og vi har endda fået ny stor bil. Jeg døjer med hæmorider og så tager vi en klassisk tur rundt med Mikkel der fortæller om alle de ting han synes der skal fikses. Vi starter dog med at rykke et gammelt hønsehus og flytte vores ATV som er gået i stykker. Vi er også en tur i vores kaos af en have, hvor det eneste der fungere er én squash plante, som til gengæld også levere GIGANTISKE squash. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60", 3, 1534, false, "mCkvhf9YDCk", "https://www.youtube.com/watch?v=mCkvhf9YDCk", "/downloads/shows/Livet på gården/Season 2025/s2025e100900 - Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60.mp4", false, ~U[2025-10-09 14:01:15Z]] 14:16:43.688 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=145.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:43.688 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:43.689 [debug] QUERY OK source="media_items" db=0.3ms 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 [81473] 14:16:43.689 [debug] Current batch of media processed. Will check again in 1000ms 14:16:44.690 [debug] Current batch of media processed. Will check again in 1000ms 14:16:45.691 [debug] Current batch of media processed. Will check again in 1000ms 14:16:46.692 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit har vi besøg af min veninde fra København fordi vi er kommet dertil hvor vi skal holde navngivningsfest for vores datter. Vi har slået det store brød op med kæmpe telt i haven og alt harald nyborgs pynt tror jeg nærmest? Derudover har Mikkel besluttet sig for at bygge sit eget gyngestativ til vores nye gynger\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1491, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e101600 - Vi gør klar til navngivningsfest | Livet på gården Ep. 61.mp4", "id" => "KMuFnD8X_To", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KMuFnD8X_To", "playlist_index" => 60, "timestamp" => 1760623235, "title" => "Vi gør klar til navngivningsfest | Livet på gården Ep. 61", "upload_date" => "20251016"} 14:16:46.693 [debug] QUERY OK source="sources" db=0.2ms idle=1258.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:46.694 [debug] QUERY OK source="sources" db=0.5ms idle=1259.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:46.695 [debug] QUERY OK source="media_items" db=0.6ms idle=1259.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-16 14:00:35Z], 3] 14:16:46.706 [debug] QUERY OK source="media_items" db=10.8ms idle=1151.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har vi besøg af min veninde fra København fordi vi er kommet dertil hvor vi skal holde navngivningsfest for vores datter. Vi har slået det store brød op med kæmpe telt i haven og alt harald nyborgs pynt tror jeg nærmest? Derudover har Mikkel besluttet sig for at bygge sit eget gyngestativ til vores nye gynger\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi gør klar til navngivningsfest | Livet på gården Ep. 61", "6aaab875-12a6-47f5-9e4a-86d820e390f0", 3, [], 1491, false, "KMuFnD8X_To", "https://www.youtube.com/watch?v=KMuFnD8X_To", 60, "/downloads/shows/Livet på gården/Season 2025/s2025e101600 - Vi gør klar til navngivningsfest | Livet på gården Ep. 61.mp4", false, false, false, 1, ~U[2025-10-16 14:00:35Z], ~U[2026-04-16 12:16:46Z], ~U[2026-04-16 12:16:46Z], "I dette afsnit har vi besøg af min veninde fra København fordi vi er kommet dertil hvor vi skal holde navngivningsfest for vores datter. Vi har slået det store brød op med kæmpe telt i haven og alt harald nyborgs pynt tror jeg nærmest? Derudover har Mikkel besluttet sig for at bygge sit eget gyngestativ til vores nye gynger\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi gør klar til navngivningsfest | Livet på gården Ep. 61", 3, 1491, false, "KMuFnD8X_To", "https://www.youtube.com/watch?v=KMuFnD8X_To", "/downloads/shows/Livet på gården/Season 2025/s2025e101600 - Vi gør klar til navngivningsfest | Livet på gården Ep. 61.mp4", false, ~U[2025-10-16 14:00:35Z]] 14:16:46.707 [debug] QUERY OK source="sources" db=0.2ms idle=161.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:46.707 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=13.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:46.708 [debug] QUERY OK source="media_items" db=0.2ms idle=13.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [84158] 14:16:46.708 [debug] Current batch of media processed. Will check again in 1000ms 14:16:47.708 [debug] Current batch of media processed. Will check again in 1000ms 14:16:48.709 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode fortsætter vi byggeriet af gyngestativet som skal stå i bunden af haven. Mikkel tegner og fortæller hvordan han laver det og jeg er på en måde blevet praktikant. Jeg er samtidig ved at forberede mig på keramiksalg den forestående weekend og det er lidt mere spændende end normalt fordi jeg denne gang fikser alt selv, eftersom Malene ikke længere er hos mig.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1384, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e102300 - Vi bygger et gyngestativ | Livet på gården Ep. 62.mp4", "id" => "aSbYAroNsjw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aSbYAroNsjw", "playlist_index" => 61, "timestamp" => 1761228002, "title" => "Vi bygger et gyngestativ | Livet på gården Ep. 62", "upload_date" => "20251023"} 14:16:48.710 [debug] QUERY OK source="sources" db=0.2ms idle=275.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:48.710 [debug] QUERY OK source="sources" db=0.1ms idle=275.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:48.711 [debug] QUERY OK source="media_items" db=0.3ms idle=276.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 14:00:02Z], 3] 14:16:48.713 [debug] QUERY OK source="media_items" db=2.1ms idle=277.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode fortsætter vi byggeriet af gyngestativet som skal stå i bunden af haven. Mikkel tegner og fortæller hvordan han laver det og jeg er på en måde blevet praktikant. Jeg er samtidig ved at forberede mig på keramiksalg den forestående weekend og det er lidt mere spændende end normalt fordi jeg denne gang fikser alt selv, eftersom Malene ikke længere er hos mig.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi bygger et gyngestativ | Livet på gården Ep. 62", "32d4a8e7-706e-4e6d-ae3d-a209274526c0", 3, [], 1384, false, "aSbYAroNsjw", "https://www.youtube.com/watch?v=aSbYAroNsjw", 61, "/downloads/shows/Livet på gården/Season 2025/s2025e102300 - Vi bygger et gyngestativ | Livet på gården Ep. 62.mp4", false, false, false, 1, ~U[2025-10-23 14:00:02Z], ~U[2026-04-16 12:16:48Z], ~U[2026-04-16 12:16:48Z], "I denne episode fortsætter vi byggeriet af gyngestativet som skal stå i bunden af haven. Mikkel tegner og fortæller hvordan han laver det og jeg er på en måde blevet praktikant. Jeg er samtidig ved at forberede mig på keramiksalg den forestående weekend og det er lidt mere spændende end normalt fordi jeg denne gang fikser alt selv, eftersom Malene ikke længere er hos mig.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi bygger et gyngestativ | Livet på gården Ep. 62", 3, 1384, false, "aSbYAroNsjw", "https://www.youtube.com/watch?v=aSbYAroNsjw", "/downloads/shows/Livet på gården/Season 2025/s2025e102300 - Vi bygger et gyngestativ | Livet på gården Ep. 62.mp4", false, ~U[2025-10-23 14:00:02Z]] 14:16:48.714 [debug] QUERY OK source="sources" db=0.1ms idle=165.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:48.714 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:48.715 [debug] QUERY OK source="media_items" db=0.2ms 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 [86840] 14:16:48.715 [debug] Current batch of media processed. Will check again in 1000ms 14:16:49.716 [debug] Current batch of media processed. Will check again in 1000ms 14:16:50.717 [debug] Current batch of media processed. Will check again in 1000ms 14:16:51.718 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode 959KRISTINES eller få rabatten via linket her: http://www.hellofresh.dk/959KRISTINES\n\nI denne episode sætter vi langt om længe keramik til salg igen, og det er udsolgt på meget få minutter. Vi er på røven over det må jeg bare sige. Mikkel bygger og vi får besøg af min familie der hjælper til hvor der er brug for det. Julle overtager kameraet mens hun maler og jeg er ved lægen med vores datter. Min far underholder som altid med alle de vanvittige ting han siger og min mor er gået i krig med vasketøjet \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1386, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e103000 - Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63.mp4", "id" => "_c08N8LDjq4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_c08N8LDjq4", "playlist_index" => 62, "timestamp" => 1761832855, "title" => "Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63", "upload_date" => "20251030"} 14:16:51.719 [debug] QUERY OK source="sources" db=0.2ms idle=1284.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:51.719 [debug] QUERY OK source="sources" db=0.1ms idle=1284.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:51.720 [debug] QUERY OK source="media_items" db=0.3ms idle=1285.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 14:00:55Z], 3] 14:16:51.721 [debug] QUERY OK source="media_items" db=0.9ms idle=1169.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode 959KRISTINES eller få rabatten via linket her: http://www.hellofresh.dk/959KRISTINES\n\nI denne episode sætter vi langt om længe keramik til salg igen, og det er udsolgt på meget få minutter. Vi er på røven over det må jeg bare sige. Mikkel bygger og vi får besøg af min familie der hjælper til hvor der er brug for det. Julle overtager kameraet mens hun maler og jeg er ved lægen med vores datter. Min far underholder som altid med alle de vanvittige ting han siger og min mor er gået i krig med vasketøjet \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63", "bca53054-ac70-48e0-9007-7a16458fa806", 3, [], 1386, false, "_c08N8LDjq4", "https://www.youtube.com/watch?v=_c08N8LDjq4", 62, "/downloads/shows/Livet på gården/Season 2025/s2025e103000 - Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63.mp4", false, false, false, 1, ~U[2025-10-30 14:00:55Z], ~U[2026-04-16 12:16:51Z], ~U[2026-04-16 12:16:51Z], "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode 959KRISTINES eller få rabatten via linket her: http://www.hellofresh.dk/959KRISTINES\n\nI denne episode sætter vi langt om længe keramik til salg igen, og det er udsolgt på meget få minutter. Vi er på røven over det må jeg bare sige. Mikkel bygger og vi får besøg af min familie der hjælper til hvor der er brug for det. Julle overtager kameraet mens hun maler og jeg er ved lægen med vores datter. Min far underholder som altid med alle de vanvittige ting han siger og min mor er gået i krig med vasketøjet \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63", 3, 1386, false, "_c08N8LDjq4", "https://www.youtube.com/watch?v=_c08N8LDjq4", "/downloads/shows/Livet på gården/Season 2025/s2025e103000 - Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63.mp4", false, ~U[2025-10-30 14:00:55Z]] 14:16:51.722 [debug] QUERY OK source="sources" db=0.1ms idle=169.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:51.722 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:51.723 [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 [89627] 14:16:51.723 [debug] Current batch of media processed. Will check again in 1000ms 14:16:52.724 [debug] Current batch of media processed. Will check again in 1000ms 14:16:53.725 [debug] Current batch of media processed. Will check again in 1000ms 14:16:54.726 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er vi langt om længe gået igang med at male soklen under vores vinduer. Mikkel er ikke just tilfreds med min måde at gøre det på, men det bliver han nok aldrig haha. Willy er blevet besat af at sidde på min skulder og Mikkel synes åbenbart at et pæretræ skal dø? Jeg svare også på spørgsmål jeg ofte får om hvordan det har været at blive mor, når man har et sind som mit.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1699, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e110600 - Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64.mp4", "id" => "NcSqbDLMJCo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=NcSqbDLMJCo", "playlist_index" => 63, "timestamp" => 1762437648, "title" => "Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64", "upload_date" => "20251106"} 14:16:54.727 [debug] QUERY OK source="sources" db=0.2ms idle=1291.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:54.727 [debug] QUERY OK source="sources" db=0.1ms idle=1292.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:54.728 [debug] QUERY OK source="media_items" db=0.3ms idle=1292.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-06 14:00:48Z], 3] 14:16:54.729 [debug] QUERY OK source="media_items" db=0.8ms idle=1174.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi langt om længe gået igang med at male soklen under vores vinduer. Mikkel er ikke just tilfreds med min måde at gøre det på, men det bliver han nok aldrig haha. Willy er blevet besat af at sidde på min skulder og Mikkel synes åbenbart at et pæretræ skal dø? Jeg svare også på spørgsmål jeg ofte får om hvordan det har været at blive mor, når man har et sind som mit.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64", "3eaa47b2-0cbf-4132-abc5-6be103e6b032", 3, [], 1699, false, "NcSqbDLMJCo", "https://www.youtube.com/watch?v=NcSqbDLMJCo", 63, "/downloads/shows/Livet på gården/Season 2025/s2025e110600 - Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64.mp4", false, false, false, 1, ~U[2025-11-06 14:00:48Z], ~U[2026-04-16 12:16:54Z], ~U[2026-04-16 12:16:54Z], "I dette afsnit er vi langt om længe gået igang med at male soklen under vores vinduer. Mikkel er ikke just tilfreds med min måde at gøre det på, men det bliver han nok aldrig haha. Willy er blevet besat af at sidde på min skulder og Mikkel synes åbenbart at et pæretræ skal dø? Jeg svare også på spørgsmål jeg ofte får om hvordan det har været at blive mor, når man har et sind som mit.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64", 3, 1699, false, "NcSqbDLMJCo", "https://www.youtube.com/watch?v=NcSqbDLMJCo", "/downloads/shows/Livet på gården/Season 2025/s2025e110600 - Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64.mp4", false, ~U[2025-11-06 14:00:48Z]] 14:16:54.730 [debug] QUERY OK source="sources" db=0.1ms idle=174.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:54.730 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:54.731 [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 [92461] 14:16:54.731 [debug] Current batch of media processed. Will check again in 1000ms 14:16:55.731 [debug] Current batch of media processed. Will check again in 1000ms 14:16:56.732 [debug] Current batch of media processed. Will check again in 1000ms 14:16:57.733 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dagens afsnit er Mikkel spændt som en flitsbue fordi hans længe ventede drøm om en minilæsser endelig går i opfyldelse og jeg får mig ca. verdens gladeste mand og forhåbenligt lidt ro hahaha. Den er meget velkommen, fordi det er blevet tid til at pille gavlene ned med hjælp fra Mikkels bedste buddy Krog som også er tømrer. Deres mission er at pille 2 gavle ned og bygge dem op igen på 2 dage - et ambitiøst projekt mildt sagt. I kommer med i processen og Mikkel deler han tanker og viden om den slags. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1312, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e111300 - Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65.mp4", "id" => "bt4dqhzvEu0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bt4dqhzvEu0", "playlist_index" => 64, "timestamp" => 1763046097, "title" => "Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65", "upload_date" => "20251113"} 14:16:57.734 [debug] QUERY OK source="sources" db=0.3ms idle=1299.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:16:57.734 [debug] QUERY OK source="sources" db=0.1ms idle=1.3e3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:57.735 [debug] QUERY OK source="media_items" db=0.3ms idle=1300.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-13 15:01:37Z], 3] 14:16:57.736 [debug] QUERY OK source="media_items" db=0.9ms idle=1178.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dagens afsnit er Mikkel spændt som en flitsbue fordi hans længe ventede drøm om en minilæsser endelig går i opfyldelse og jeg får mig ca. verdens gladeste mand og forhåbenligt lidt ro hahaha. Den er meget velkommen, fordi det er blevet tid til at pille gavlene ned med hjælp fra Mikkels bedste buddy Krog som også er tømrer. Deres mission er at pille 2 gavle ned og bygge dem op igen på 2 dage - et ambitiøst projekt mildt sagt. I kommer med i processen og Mikkel deler han tanker og viden om den slags. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65", "bed8d917-f823-4045-a714-e53945c476a8", 3, [], 1312, false, "bt4dqhzvEu0", "https://www.youtube.com/watch?v=bt4dqhzvEu0", 64, "/downloads/shows/Livet på gården/Season 2025/s2025e111300 - Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65.mp4", false, false, false, 1, ~U[2025-11-13 15:01:37Z], ~U[2026-04-16 12:16:57Z], ~U[2026-04-16 12:16:57Z], "I dagens afsnit er Mikkel spændt som en flitsbue fordi hans længe ventede drøm om en minilæsser endelig går i opfyldelse og jeg får mig ca. verdens gladeste mand og forhåbenligt lidt ro hahaha. Den er meget velkommen, fordi det er blevet tid til at pille gavlene ned med hjælp fra Mikkels bedste buddy Krog som også er tømrer. Deres mission er at pille 2 gavle ned og bygge dem op igen på 2 dage - et ambitiøst projekt mildt sagt. I kommer med i processen og Mikkel deler han tanker og viden om den slags. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65", 3, 1312, false, "bt4dqhzvEu0", "https://www.youtube.com/watch?v=bt4dqhzvEu0", "/downloads/shows/Livet på gården/Season 2025/s2025e111300 - Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65.mp4", false, ~U[2025-11-13 15:01:37Z]] 14:16:57.737 [debug] QUERY OK source="sources" db=0.1ms idle=178.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:16:57.737 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:57.738 [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 [95282] 14:16:57.738 [debug] Current batch of media processed. Will check again in 1000ms 14:16:58.738 [debug] Current batch of media processed. Will check again in 1000ms 14:16:59.739 [debug] Current batch of media processed. Will check again in 1000ms 14:17:00.485 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:17:00.515 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:00.740 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit tager Mikkel os med når han viser hvad han har fikset med minilæsseren. Han har gang i den helt store oprydning både det ene og ander sted. Jeg prøver at sidde i minilæsseren for første gang mens Mikkel fortæller hvad den kan. Inde i køkkenet har jeg gang i at langtidskoge ossobuco til baby - og så tager vi jer med i vores planer og forestående indkøb til overetagen. Og det bliver ikke ligefrem gratis. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1694, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e112000 - Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66.mp4", "id" => "XO87v1AxbWQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XO87v1AxbWQ", "playlist_index" => 65, "timestamp" => 1763650866, "title" => "Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66", "upload_date" => "20251120"} 14:17:00.741 [debug] QUERY OK source="sources" db=0.2ms idle=1306.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:00.741 [debug] QUERY OK source="sources" db=0.1ms idle=1181.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:00.742 [debug] QUERY OK source="media_items" db=0.3ms idle=256.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-20 15:01:06Z], 3] 14:17:00.743 [debug] QUERY OK source="media_items" db=0.8ms idle=227.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager Mikkel os med når han viser hvad han har fikset med minilæsseren. Han har gang i den helt store oprydning både det ene og ander sted. Jeg prøver at sidde i minilæsseren for første gang mens Mikkel fortæller hvad den kan. Inde i køkkenet har jeg gang i at langtidskoge ossobuco til baby - og så tager vi jer med i vores planer og forestående indkøb til overetagen. Og det bliver ikke ligefrem gratis. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66", "4925439f-3341-47d2-81f2-e220b72b32c0", 3, [], 1694, false, "XO87v1AxbWQ", "https://www.youtube.com/watch?v=XO87v1AxbWQ", 65, "/downloads/shows/Livet på gården/Season 2025/s2025e112000 - Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66.mp4", false, false, false, 1, ~U[2025-11-20 15:01:06Z], ~U[2026-04-16 12:17:00Z], ~U[2026-04-16 12:17:00Z], "I dette afsnit tager Mikkel os med når han viser hvad han har fikset med minilæsseren. Han har gang i den helt store oprydning både det ene og ander sted. Jeg prøver at sidde i minilæsseren for første gang mens Mikkel fortæller hvad den kan. Inde i køkkenet har jeg gang i at langtidskoge ossobuco til baby - og så tager vi jer med i vores planer og forestående indkøb til overetagen. Og det bliver ikke ligefrem gratis. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66", 3, 1694, false, "XO87v1AxbWQ", "https://www.youtube.com/watch?v=XO87v1AxbWQ", "/downloads/shows/Livet på gården/Season 2025/s2025e112000 - Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66.mp4", false, ~U[2025-11-20 15:01:06Z]] 14:17:00.744 [debug] QUERY OK source="sources" db=0.3ms idle=182.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:00.744 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:00.745 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [98129] 14:17:00.745 [debug] Current batch of media processed. Will check again in 1000ms 14:17:01.746 [debug] Current batch of media processed. Will check again in 1000ms 14:17:02.747 [debug] Current batch of media processed. Will check again in 1000ms 14:17:03.748 [debug] Current batch of media processed. Will check again in 1000ms 14:17:04.749 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er vi gået i køkkenet for at forsøge os med at lave vores egen kimchi, som jo er en form for fermenteret koreansk kål, som Mikkel elsker og spiser i store mængder. Det viser sig som lidt af en videnskab, men ikke desto mindre er Mikkel sjofel som altid og jeg forsøger bare at komme i mål med den kål, hahah. Det er samme dag simba prisen, som vi vinder - men som i nok ved, er jeg mere til kimchi end store sale og mennesker. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1232, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e112700 - Vi laver hjemmelavet kimchi | Livet på gården Ep. 67.mp4", "id" => "qDN2-yN1EkI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qDN2-yN1EkI", "playlist_index" => 66, "timestamp" => 1764255705, "title" => "Vi laver hjemmelavet kimchi | Livet på gården Ep. 67", "upload_date" => "20251127"} 14:17:04.750 [debug] QUERY OK source="sources" db=0.3ms idle=315.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:04.750 [debug] QUERY OK source="sources" db=0.1ms idle=316.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:04.751 [debug] QUERY OK source="media_items" db=0.3ms idle=316.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-27 15:01:45Z], 3] 14:17:04.752 [debug] QUERY OK source="media_items" db=0.8ms idle=317.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi gået i køkkenet for at forsøge os med at lave vores egen kimchi, som jo er en form for fermenteret koreansk kål, som Mikkel elsker og spiser i store mængder. Det viser sig som lidt af en videnskab, men ikke desto mindre er Mikkel sjofel som altid og jeg forsøger bare at komme i mål med den kål, hahah. Det er samme dag simba prisen, som vi vinder - men som i nok ved, er jeg mere til kimchi end store sale og mennesker. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi laver hjemmelavet kimchi | Livet på gården Ep. 67", "f96b1380-498c-47ab-b3e0-4c4b376f7f09", 3, [], 1232, false, "qDN2-yN1EkI", "https://www.youtube.com/watch?v=qDN2-yN1EkI", 66, "/downloads/shows/Livet på gården/Season 2025/s2025e112700 - Vi laver hjemmelavet kimchi | Livet på gården Ep. 67.mp4", false, false, false, 1, ~U[2025-11-27 15:01:45Z], ~U[2026-04-16 12:17:04Z], ~U[2026-04-16 12:17:04Z], "I dette afsnit er vi gået i køkkenet for at forsøge os med at lave vores egen kimchi, som jo er en form for fermenteret koreansk kål, som Mikkel elsker og spiser i store mængder. Det viser sig som lidt af en videnskab, men ikke desto mindre er Mikkel sjofel som altid og jeg forsøger bare at komme i mål med den kål, hahah. Det er samme dag simba prisen, som vi vinder - men som i nok ved, er jeg mere til kimchi end store sale og mennesker. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi laver hjemmelavet kimchi | Livet på gården Ep. 67", 3, 1232, false, "qDN2-yN1EkI", "https://www.youtube.com/watch?v=qDN2-yN1EkI", "/downloads/shows/Livet på gården/Season 2025/s2025e112700 - Vi laver hjemmelavet kimchi | Livet på gården Ep. 67.mp4", false, ~U[2025-11-27 15:01:45Z]] 14:17:04.753 [debug] QUERY OK source="sources" db=0.1ms idle=181.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:04.753 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:04.754 [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 [101004] 14:17:04.754 [debug] Current batch of media processed. Will check again in 1000ms 14:17:05.755 [debug] Current batch of media processed. Will check again in 1000ms 14:17:06.756 [debug] Current batch of media processed. Will check again in 1000ms 14:17:07.757 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit kommer i for alvor med ovenpå når vi lægger en endelig plan for ruminddelingen af overetagen og Mikkel grubler og fortæller hvorfor noget kan lade sig gøre, og andet ikke kan. Vi skal have gang i det helt store isoleringsarbejde, fordi det for alvor er blevet koldt - så vi knokler på og får slæbt isolering op og går igang. Jeg hjælper så godt jeg kan, men som i ved er Mikkel ikke altid begejstret for det jeg byder ind med. Vi kører timelapse derudaf og runder også \"Brohave bliver bøf\", hvilket Mikkel simpelthen ikke ved hvad er, hahahah\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1620, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e121100 - Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68.mp4", "id" => "kOicCYUbF9Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kOicCYUbF9Y", "playlist_index" => 67, "timestamp" => 1765465294, "title" => "Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68", "upload_date" => "20251211"} 14:17:07.758 [debug] QUERY OK source="sources" db=0.2ms idle=1323.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:07.758 [debug] QUERY OK source="sources" db=0.1ms idle=1324.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:07.759 [debug] QUERY OK source="media_items" db=0.3ms idle=1324.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-11 15:01:34Z], 3] 14:17:07.760 [debug] QUERY OK source="media_items" db=0.9ms idle=1185.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i for alvor med ovenpå når vi lægger en endelig plan for ruminddelingen af overetagen og Mikkel grubler og fortæller hvorfor noget kan lade sig gøre, og andet ikke kan. Vi skal have gang i det helt store isoleringsarbejde, fordi det for alvor er blevet koldt - så vi knokler på og får slæbt isolering op og går igang. Jeg hjælper så godt jeg kan, men som i ved er Mikkel ikke altid begejstret for det jeg byder ind med. Vi kører timelapse derudaf og runder også \"Brohave bliver bøf\", hvilket Mikkel simpelthen ikke ved hvad er, hahahah\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68", "918204f8-799f-4b83-9dcc-32aa3acfa559", 3, [], 1620, false, "kOicCYUbF9Y", "https://www.youtube.com/watch?v=kOicCYUbF9Y", 67, "/downloads/shows/Livet på gården/Season 2025/s2025e121100 - Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68.mp4", false, false, false, 1, ~U[2025-12-11 15:01:34Z], ~U[2026-04-16 12:17:07Z], ~U[2026-04-16 12:17:07Z], "I dette afsnit kommer i for alvor med ovenpå når vi lægger en endelig plan for ruminddelingen af overetagen og Mikkel grubler og fortæller hvorfor noget kan lade sig gøre, og andet ikke kan. Vi skal have gang i det helt store isoleringsarbejde, fordi det for alvor er blevet koldt - så vi knokler på og får slæbt isolering op og går igang. Jeg hjælper så godt jeg kan, men som i ved er Mikkel ikke altid begejstret for det jeg byder ind med. Vi kører timelapse derudaf og runder også \"Brohave bliver bøf\", hvilket Mikkel simpelthen ikke ved hvad er, hahahah\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68", 3, 1620, false, "kOicCYUbF9Y", "https://www.youtube.com/watch?v=kOicCYUbF9Y", "/downloads/shows/Livet på gården/Season 2025/s2025e121100 - Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68.mp4", false, ~U[2025-12-11 15:01:34Z]] 14:17:07.761 [debug] QUERY OK source="sources" db=0.1ms idle=185.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:07.761 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:07.762 [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 [106794] 14:17:07.762 [debug] Current batch of media processed. Will check again in 1000ms 14:17:08.763 [debug] Current batch of media processed. Will check again in 1000ms 14:17:09.764 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården sørger vi for at få lukket af med vintermåtter oppe på overetagen. Jeg er i dårligt humør, en dag vi beslutter os for at hænge lyskæder op udenfor, men Mikkel er som altid smart i en fart og fyre alt muligt pis af, hahah. Derudover har vi kæmpe store problemer i hønsegården og har taget en stor beslutning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1331, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e121800 - Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69.mp4", "id" => "49M-tMeNIb0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=49M-tMeNIb0", "playlist_index" => 68, "timestamp" => 1766070008, "title" => "Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69", "upload_date" => "20251218"} 14:17:09.765 [debug] QUERY OK source="sources" db=0.2ms idle=330.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:09.766 [debug] QUERY OK source="sources" db=0.5ms idle=330.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:09.767 [debug] QUERY OK source="media_items" db=0.6ms idle=331.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-18 15:00:08Z], 3] 14:17:09.768 [debug] QUERY OK source="media_items" db=1.2ms idle=332.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården sørger vi for at få lukket af med vintermåtter oppe på overetagen. Jeg er i dårligt humør, en dag vi beslutter os for at hænge lyskæder op udenfor, men Mikkel er som altid smart i en fart og fyre alt muligt pis af, hahah. Derudover har vi kæmpe store problemer i hønsegården og har taget en stor beslutning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69", "71bab45f-86ee-40b5-bb8c-f3017191e70a", 3, [], 1331, false, "49M-tMeNIb0", "https://www.youtube.com/watch?v=49M-tMeNIb0", 68, "/downloads/shows/Livet på gården/Season 2025/s2025e121800 - Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69.mp4", false, false, false, 1, ~U[2025-12-18 15:00:08Z], ~U[2026-04-16 12:17:09Z], ~U[2026-04-16 12:17:09Z], "I dette afsnit af livet på gården sørger vi for at få lukket af med vintermåtter oppe på overetagen. Jeg er i dårligt humør, en dag vi beslutter os for at hænge lyskæder op udenfor, men Mikkel er som altid smart i en fart og fyre alt muligt pis af, hahah. Derudover har vi kæmpe store problemer i hønsegården og har taget en stor beslutning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69", 3, 1331, false, "49M-tMeNIb0", "https://www.youtube.com/watch?v=49M-tMeNIb0", "/downloads/shows/Livet på gården/Season 2025/s2025e121800 - Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69.mp4", false, ~U[2025-12-18 15:00:08Z]] 14:17:09.769 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=191.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:09.770 [debug] QUERY OK source="media_profiles" db=0.2ms queue=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] 14:17:09.771 [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 [109831] 14:17:09.771 [debug] Current batch of media processed. Will check again in 1000ms 14:17:10.772 [debug] Current batch of media processed. Will check again in 1000ms 14:17:11.773 [debug] Current batch of media processed. Will check again in 1000ms 14:17:12.775 [debug] Current batch of media processed. Will check again in 1000ms 14:17:13.776 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode KRISTINES26 eller få rabatten via linket her: http://www.hellofresh.dk/KRISTINES26\n\nI denne video har vi endelig fundet den helt perfekte brugte trappe som Mikkel henter i Thy, på en trailer der ser pænt spændende ud. Opgaven er så at få den godt på plads inde i laden, indtil den skal monteres i huset. Der er også blevet tomt i hønsehuset for første gang i nærmest alt den tid vi har boet på gården og det synes jeg er ret svært. Jeg er igang i køkkenet og Mikkel fortsætter kampen med at isolere overetagen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1463, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e010800 - En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71.mp4", "id" => "EzliYAXWUnU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EzliYAXWUnU", "playlist_index" => 69, "timestamp" => 1767884433, "title" => "En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71", "upload_date" => "20260108"} 14:17:13.777 [debug] QUERY OK source="sources" db=0.3ms idle=333.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:13.777 [debug] QUERY OK source="sources" db=0.1ms idle=334.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:13.778 [debug] QUERY OK source="media_items" db=0.3ms idle=334.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-08 15:00:33Z], 3] 14:17:13.780 [debug] QUERY OK source="media_items" db=1.0ms idle=335.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode KRISTINES26 eller få rabatten via linket her: http://www.hellofresh.dk/KRISTINES26\n\nI denne video har vi endelig fundet den helt perfekte brugte trappe som Mikkel henter i Thy, på en trailer der ser pænt spændende ud. Opgaven er så at få den godt på plads inde i laden, indtil den skal monteres i huset. Der er også blevet tomt i hønsehuset for første gang i nærmest alt den tid vi har boet på gården og det synes jeg er ret svært. Jeg er igang i køkkenet og Mikkel fortsætter kampen med at isolere overetagen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71", "2dc97b4f-1dc6-4d2d-8c84-932a28efeb2f", 3, [], 1463, false, "EzliYAXWUnU", "https://www.youtube.com/watch?v=EzliYAXWUnU", 69, "/downloads/shows/Livet på gården/Season 2026/s2026e010800 - En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71.mp4", false, false, false, 1, ~U[2026-01-08 15:00:33Z], ~U[2026-04-16 12:17:13Z], ~U[2026-04-16 12:17:13Z], "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode KRISTINES26 eller få rabatten via linket her: http://www.hellofresh.dk/KRISTINES26\n\nI denne video har vi endelig fundet den helt perfekte brugte trappe som Mikkel henter i Thy, på en trailer der ser pænt spændende ud. Opgaven er så at få den godt på plads inde i laden, indtil den skal monteres i huset. Der er også blevet tomt i hønsehuset for første gang i nærmest alt den tid vi har boet på gården og det synes jeg er ret svært. Jeg er igang i køkkenet og Mikkel fortsætter kampen med at isolere overetagen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71", 3, 1463, false, "EzliYAXWUnU", "https://www.youtube.com/watch?v=EzliYAXWUnU", "/downloads/shows/Livet på gården/Season 2026/s2026e010800 - En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71.mp4", false, ~U[2026-01-08 15:00:33Z]] 14:17:13.780 [debug] QUERY OK source="sources" db=0.2ms idle=198.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:13.780 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:13.781 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118803] 14:17:13.781 [debug] Current batch of media processed. Will check again in 1000ms 14:17:14.782 [debug] Current batch of media processed. Will check again in 1000ms 14:17:15.783 [debug] Current batch of media processed. Will check again in 1000ms 14:17:16.784 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode har vi os en noget svag hund som er blevet opereret, jeg organiserer til den helt store guldmedalje og så er jeg altså begyndt at preppe og fylde skabene til ekstra op. Mikkel fyre rundt ovenpå og er ved at kunne se enden på isoleringen og så får vi for alvor et kig på hvordan vores hall kommer til at se ud - den bliver jo kæmpe! \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1063, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e011500 - Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72.mp4", "id" => "W25cAiJgVl4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=W25cAiJgVl4", "playlist_index" => 70, "timestamp" => 1768489257, "title" => "Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72", "upload_date" => "20260115"} 14:17:16.785 [debug] QUERY OK source="sources" db=0.2ms idle=1341.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:16.785 [debug] QUERY OK source="sources" db=0.1ms idle=1341.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:16.786 [debug] QUERY OK source="media_items" db=0.3ms idle=1342.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-15 15:00:57Z], 3] 14:17:16.787 [debug] QUERY OK source="media_items" db=0.9ms idle=1203.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode har vi os en noget svag hund som er blevet opereret, jeg organiserer til den helt store guldmedalje og så er jeg altså begyndt at preppe og fylde skabene til ekstra op. Mikkel fyre rundt ovenpå og er ved at kunne se enden på isoleringen og så får vi for alvor et kig på hvordan vores hall kommer til at se ud - den bliver jo kæmpe! \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72", "abfec27c-f7d2-40e1-b499-c499d2e67228", 3, [], 1063, false, "W25cAiJgVl4", "https://www.youtube.com/watch?v=W25cAiJgVl4", 70, "/downloads/shows/Livet på gården/Season 2026/s2026e011500 - Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72.mp4", false, false, false, 1, ~U[2026-01-15 15:00:57Z], ~U[2026-04-16 12:17:16Z], ~U[2026-04-16 12:17:16Z], "I denne episode har vi os en noget svag hund som er blevet opereret, jeg organiserer til den helt store guldmedalje og så er jeg altså begyndt at preppe og fylde skabene til ekstra op. Mikkel fyre rundt ovenpå og er ved at kunne se enden på isoleringen og så får vi for alvor et kig på hvordan vores hall kommer til at se ud - den bliver jo kæmpe! \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72", 3, 1063, false, "W25cAiJgVl4", "https://www.youtube.com/watch?v=W25cAiJgVl4", "/downloads/shows/Livet på gården/Season 2026/s2026e011500 - Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72.mp4", false, ~U[2026-01-15 15:00:57Z]] 14:17:16.788 [debug] QUERY OK source="sources" db=0.1ms idle=203.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:16.788 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:16.789 [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 [121817] 14:17:16.789 [debug] Current batch of media processed. Will check again in 1000ms 14:17:17.789 [debug] Current batch of media processed. Will check again in 1000ms 14:17:18.790 [debug] Current batch of media processed. Will check again in 1000ms 14:17:19.791 [debug] Current batch of media processed. Will check again in 1000ms 14:17:20.792 [debug] Current batch of media processed. Will check again in 1000ms 14:17:21.793 [debug] Current batch of media processed. Will check again in 1000ms 14:17:22.794 [debug] Current batch of media processed. Will check again in 1000ms 14:17:23.795 [debug] Current batch of media processed. Will check again in 1000ms 14:17:24.796 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode sælger vi keramik. I kommer med helt tæt på når jeg forbereder og sætter op. Min mor kommer os til undsætning for at hjælpe med pakkeriet, og jeg er som altid spændt som en flitsbue. Det hele bliver udsolgt på rekordtid og jeg er bare i chok altså. Det er SÅ vildt! \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1312, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e012200 - Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73.mp4", "id" => "ZhpmiMpVyZw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZhpmiMpVyZw", "playlist_index" => 71, "timestamp" => 1769094066, "title" => "Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73", "upload_date" => "20260122"} 14:17:24.797 [debug] QUERY OK source="sources" db=0.2ms idle=353.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:24.797 [debug] QUERY OK source="sources" db=0.1ms idle=354.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:24.798 [debug] QUERY OK source="media_items" db=0.3ms idle=354.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 15:01:06Z], 3] 14:17:24.799 [debug] QUERY OK source="media_items" db=0.8ms idle=355.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode sælger vi keramik. I kommer med helt tæt på når jeg forbereder og sætter op. Min mor kommer os til undsætning for at hjælpe med pakkeriet, og jeg er som altid spændt som en flitsbue. Det hele bliver udsolgt på rekordtid og jeg er bare i chok altså. Det er SÅ vildt! \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73", "adb547f9-7ad4-44b1-af1c-08605a7dc8a9", 3, [], 1312, false, "ZhpmiMpVyZw", "https://www.youtube.com/watch?v=ZhpmiMpVyZw", 71, "/downloads/shows/Livet på gården/Season 2026/s2026e012200 - Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73.mp4", false, false, false, 1, ~U[2026-01-22 15:01:06Z], ~U[2026-04-16 12:17:24Z], ~U[2026-04-16 12:17:24Z], "I denne episode sælger vi keramik. I kommer med helt tæt på når jeg forbereder og sætter op. Min mor kommer os til undsætning for at hjælpe med pakkeriet, og jeg er som altid spændt som en flitsbue. Det hele bliver udsolgt på rekordtid og jeg er bare i chok altså. Det er SÅ vildt! \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73", 3, 1312, false, "ZhpmiMpVyZw", "https://www.youtube.com/watch?v=ZhpmiMpVyZw", "/downloads/shows/Livet på gården/Season 2026/s2026e012200 - Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73.mp4", false, ~U[2026-01-22 15:01:06Z]] 14:17:24.800 [debug] QUERY OK source="sources" db=0.1ms idle=207.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:24.800 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:24.801 [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 [124860] 14:17:24.801 [debug] Current batch of media processed. Will check again in 1000ms 14:17:25.801 [debug] Current batch of media processed. Will check again in 1000ms 14:17:26.802 [debug] Current batch of media processed. Will check again in 1000ms 14:17:27.803 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården er vi mildest talt ufatteligt nervøse. Efter en weekend hvor vi akut måtte kører Carla til dyrlægen, er Mikkel kørt afsted med hende til Viborg hvor hun skal ind til en neurolog, fordi hun opfører sig helt skørt og ved siden af sig selv. I mens forsøger jeg at distrahere mig selv i keramikken. Senere er der dårlig stemning på første salen da det går op for os at Willy bruger isolering som toilet - og så er vi en tur udenfor, for at rydde op efter nedrivningen af gavlene. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1476, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e012900 - Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74.mp4", "id" => "mJgxlMp3x34", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mJgxlMp3x34", "playlist_index" => 72, "timestamp" => 1769698882, "title" => "Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74", "upload_date" => "20260129"} 14:17:27.804 [debug] QUERY OK source="sources" db=0.3ms idle=1359.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:27.804 [debug] QUERY OK source="sources" db=0.1ms idle=1359.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:27.805 [debug] QUERY OK source="media_items" db=0.4ms idle=1360.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 15:01:22Z], 3] 14:17:27.807 [debug] QUERY OK source="media_items" db=0.9ms idle=1210.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården er vi mildest talt ufatteligt nervøse. Efter en weekend hvor vi akut måtte kører Carla til dyrlægen, er Mikkel kørt afsted med hende til Viborg hvor hun skal ind til en neurolog, fordi hun opfører sig helt skørt og ved siden af sig selv. I mens forsøger jeg at distrahere mig selv i keramikken. Senere er der dårlig stemning på første salen da det går op for os at Willy bruger isolering som toilet - og så er vi en tur udenfor, for at rydde op efter nedrivningen af gavlene. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74", "f2983f3c-45c5-43e0-b55c-7654c2733964", 3, [], 1476, false, "mJgxlMp3x34", "https://www.youtube.com/watch?v=mJgxlMp3x34", 72, "/downloads/shows/Livet på gården/Season 2026/s2026e012900 - Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74.mp4", false, false, false, 1, ~U[2026-01-29 15:01:22Z], ~U[2026-04-16 12:17:27Z], ~U[2026-04-16 12:17:27Z], "I dette afsnit af livet på gården er vi mildest talt ufatteligt nervøse. Efter en weekend hvor vi akut måtte kører Carla til dyrlægen, er Mikkel kørt afsted med hende til Viborg hvor hun skal ind til en neurolog, fordi hun opfører sig helt skørt og ved siden af sig selv. I mens forsøger jeg at distrahere mig selv i keramikken. Senere er der dårlig stemning på første salen da det går op for os at Willy bruger isolering som toilet - og så er vi en tur udenfor, for at rydde op efter nedrivningen af gavlene. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74", 3, 1476, false, "mJgxlMp3x34", "https://www.youtube.com/watch?v=mJgxlMp3x34", "/downloads/shows/Livet på gården/Season 2026/s2026e012900 - Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74.mp4", false, ~U[2026-01-29 15:01:22Z]] 14:17:27.808 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=211.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:27.808 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:27.809 [debug] QUERY OK source="media_items" db=0.3ms 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 [127637] 14:17:27.809 [debug] Current batch of media processed. Will check again in 1000ms 14:17:28.812 [debug] Current batch of media processed. Will check again in 1000ms 14:17:29.813 [debug] Current batch of media processed. Will check again in 1000ms 14:17:30.516 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:30.814 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video fortsætter byggeriet og jeg får overtalt Mikkel til selv at tage kameraet med op og fortælle lidt mere teknisk om hvad han laver og hvorfor - og så har han lavet en timelapse (så cute). Mens der sker gevaldige fremskridt på første salen, er min første sal udfordret. Jeg er træt med træt på. Der er også kommet sne på gården og så opdatere jeg på hvordan det går med Carla. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1929, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e020500 - Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75.mp4", "id" => "o4CgI8DjMPw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=o4CgI8DjMPw", "playlist_index" => 73, "timestamp" => 1770303689, "title" => "Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75", "upload_date" => "20260205"} 14:17:30.815 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1370.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:30.815 [debug] QUERY OK source="sources" db=0.1ms idle=1371.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:30.816 [debug] QUERY OK source="media_items" db=0.3ms idle=1216.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 15:01:29Z], 3] 14:17:30.819 [debug] QUERY OK source="media_items" db=2.5ms idle=300.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video fortsætter byggeriet og jeg får overtalt Mikkel til selv at tage kameraet med op og fortælle lidt mere teknisk om hvad han laver og hvorfor - og så har han lavet en timelapse (så cute). Mens der sker gevaldige fremskridt på første salen, er min første sal udfordret. Jeg er træt med træt på. Der er også kommet sne på gården og så opdatere jeg på hvordan det går med Carla. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75", "cad67ed5-b0a4-46d6-a87f-93c92539883a", 3, [], 1929, false, "o4CgI8DjMPw", "https://www.youtube.com/watch?v=o4CgI8DjMPw", 73, "/downloads/shows/Livet på gården/Season 2026/s2026e020500 - Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75.mp4", false, false, false, 1, ~U[2026-02-05 15:01:29Z], ~U[2026-04-16 12:17:30Z], ~U[2026-04-16 12:17:30Z], "I denne video fortsætter byggeriet og jeg får overtalt Mikkel til selv at tage kameraet med op og fortælle lidt mere teknisk om hvad han laver og hvorfor - og så har han lavet en timelapse (så cute). Mens der sker gevaldige fremskridt på første salen, er min første sal udfordret. Jeg er træt med træt på. Der er også kommet sne på gården og så opdatere jeg på hvordan det går med Carla. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75", 3, 1929, false, "o4CgI8DjMPw", "https://www.youtube.com/watch?v=o4CgI8DjMPw", "/downloads/shows/Livet på gården/Season 2026/s2026e020500 - Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75.mp4", false, ~U[2026-02-05 15:01:29Z]] 14:17:30.820 [debug] QUERY OK source="sources" db=0.2ms idle=218.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:30.820 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:30.821 [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 [130670] 14:17:30.821 [debug] Current batch of media processed. Will check again in 1000ms 14:17:31.822 [debug] Current batch of media processed. Will check again in 1000ms 14:17:32.823 [debug] Current batch of media processed. Will check again in 1000ms 14:17:33.824 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården går Mikkel i krig med at rette gulvet op på overetagen og får lagt en en gulvspånplader. Der er nedslående nyheder fra Krog, the man of all men, som er vores mest pålidelige hjælp - og så tager vi altså en snak om økonomien i en renovering som vores. Hvad har overetagen kostet indtil videre? Og hvad regner vi med at bruge? Mikkel tegner og fortæller grundigt om den endelige planløsning som nu er fastlagt - og nårh ja, så har jeg fået min menstruation for første gang siden fødslen og det er ikke for tøsedrenge\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1827, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e021200 - Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76.mp4", "id" => "gZRnKqaiy3k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gZRnKqaiy3k", "playlist_index" => 74, "timestamp" => 1770908476, "title" => "Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76", "upload_date" => "20260212"} 14:17:33.825 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1380.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:33.825 [debug] QUERY OK source="sources" db=0.1ms idle=1380.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:33.826 [debug] QUERY OK source="media_items" db=0.3ms idle=1381.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-12 15:01:16Z], 3] 14:17:33.827 [debug] QUERY OK source="media_items" db=0.9ms idle=1223.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården går Mikkel i krig med at rette gulvet op på overetagen og får lagt en en gulvspånplader. Der er nedslående nyheder fra Krog, the man of all men, som er vores mest pålidelige hjælp - og så tager vi altså en snak om økonomien i en renovering som vores. Hvad har overetagen kostet indtil videre? Og hvad regner vi med at bruge? Mikkel tegner og fortæller grundigt om den endelige planløsning som nu er fastlagt - og nårh ja, så har jeg fået min menstruation for første gang siden fødslen og det er ikke for tøsedrenge\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76", "e8e6acc7-b439-4b51-99c9-dcd57d1c57ce", 3, [], 1827, false, "gZRnKqaiy3k", "https://www.youtube.com/watch?v=gZRnKqaiy3k", 74, "/downloads/shows/Livet på gården/Season 2026/s2026e021200 - Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76.mp4", false, false, false, 1, ~U[2026-02-12 15:01:16Z], ~U[2026-04-16 12:17:33Z], ~U[2026-04-16 12:17:33Z], "I dette afsnit af livet på gården går Mikkel i krig med at rette gulvet op på overetagen og får lagt en en gulvspånplader. Der er nedslående nyheder fra Krog, the man of all men, som er vores mest pålidelige hjælp - og så tager vi altså en snak om økonomien i en renovering som vores. Hvad har overetagen kostet indtil videre? Og hvad regner vi med at bruge? Mikkel tegner og fortæller grundigt om den endelige planløsning som nu er fastlagt - og nårh ja, så har jeg fået min menstruation for første gang siden fødslen og det er ikke for tøsedrenge\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76", 3, 1827, false, "gZRnKqaiy3k", "https://www.youtube.com/watch?v=gZRnKqaiy3k", "/downloads/shows/Livet på gården/Season 2026/s2026e021200 - Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76.mp4", false, ~U[2026-02-12 15:01:16Z]] 14:17:33.828 [debug] QUERY OK source="sources" db=0.2ms idle=223.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:33.828 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:33.829 [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 [133899] 14:17:33.829 [debug] Current batch of media processed. Will check again in 1000ms 14:17:34.830 [debug] Current batch of media processed. Will check again in 1000ms 14:17:35.831 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit trodser vi kulden og begynder at måle op og lægge planer for udvidelsen af mit keramikværksted som vi har planer om. Mikkel hjælper mig med at lave tørreplader af gips til keramikken - og så snakker vi om hvad folk på reddit synes om os. Jeg tager jer også med lidt mere i detaljen af hvordan det foregår når jeg blandt andet glasere kopper. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1488, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e021900 - Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77.mp4", "id" => "XPD5zoS3yLA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XPD5zoS3yLA", "playlist_index" => 75, "timestamp" => 1771513262, "title" => "Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77", "upload_date" => "20260219"} 14:17:35.832 [debug] QUERY OK source="sources" db=0.2ms idle=386.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:35.832 [debug] QUERY OK source="sources" db=0.1ms idle=386.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:35.833 [debug] QUERY OK source="media_items" db=0.4ms idle=387.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-19 15:01:02Z], 3] 14:17:35.834 [debug] QUERY OK source="media_items" db=0.9ms idle=388.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit trodser vi kulden og begynder at måle op og lægge planer for udvidelsen af mit keramikværksted som vi har planer om. Mikkel hjælper mig med at lave tørreplader af gips til keramikken - og så snakker vi om hvad folk på reddit synes om os. Jeg tager jer også med lidt mere i detaljen af hvordan det foregår når jeg blandt andet glasere kopper. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77", "bca16b1b-465c-4371-872b-3e57d9293fa6", 3, [], 1488, false, "XPD5zoS3yLA", "https://www.youtube.com/watch?v=XPD5zoS3yLA", 75, "/downloads/shows/Livet på gården/Season 2026/s2026e021900 - Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77.mp4", false, false, false, 1, ~U[2026-02-19 15:01:02Z], ~U[2026-04-16 12:17:35Z], ~U[2026-04-16 12:17:35Z], "I dette afsnit trodser vi kulden og begynder at måle op og lægge planer for udvidelsen af mit keramikværksted som vi har planer om. Mikkel hjælper mig med at lave tørreplader af gips til keramikken - og så snakker vi om hvad folk på reddit synes om os. Jeg tager jer også med lidt mere i detaljen af hvordan det foregår når jeg blandt andet glasere kopper. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77", 3, 1488, false, "XPD5zoS3yLA", "https://www.youtube.com/watch?v=XPD5zoS3yLA", "/downloads/shows/Livet på gården/Season 2026/s2026e021900 - Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77.mp4", false, ~U[2026-02-19 15:01:02Z]] 14:17:35.835 [debug] QUERY OK source="sources" db=0.2ms idle=228.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:35.835 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:35.836 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [137079] 14:17:35.836 [debug] Current batch of media processed. Will check again in 1000ms 14:17:36.837 [debug] Current batch of media processed. Will check again in 1000ms 14:17:37.838 [debug] Current batch of media processed. Will check again in 1000ms 14:17:38.839 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh. \n\nSpar op til 959 kroner på dine første 5 måltidskasser og få gratis snacks med de første 3 måneder med min kode: KRISTINES2026\nEller få rabatten helt automatisk ved brug af dette link: http://www.hellofresh.dk/KRISTINES2026\n\ndenne video er vores længe ventede 3D printer endelig kommet hjem - noget vi har set frem til og særligt Mikkel som den grej freak han er, synes det er spændende. Vi samler den og prøver den af - og sikke en verden! I kommer med i køkkenet hvor den står på en smule primitiv madlavning fordi køkkenet flyder, fordi der er VVS arbejde igang og så viser jeg nogle af de sager vi har printet frem. Og er meget fascineret. Vi er også i sving med den helt store rengøring inden Rasmus Brohave kommer på besøg og skal overnatte - og det er jo ingen hemmelighed at min rengøringsstandard ikke helt lever op til den meget pæne mands, haha\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1391, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e022600 - Vi har købt en 3D printer! | Livet på gården Ep. 78.mp4", "id" => "Op8Tlzdn5eo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Op8Tlzdn5eo", "playlist_index" => 76, "timestamp" => 1772118051, "title" => "Vi har købt en 3D printer! | Livet på gården Ep. 78", "upload_date" => "20260226"} 14:17:38.840 [debug] QUERY OK source="sources" db=0.3ms idle=1394.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:38.840 [debug] QUERY OK source="sources" db=0.2ms idle=1395.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:38.841 [debug] QUERY OK source="media_items" db=0.4ms idle=1395.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 15:00:51Z], 3] 14:17:38.843 [debug] QUERY OK source="media_items" db=1.0ms idle=1233.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nSpar op til 959 kroner på dine første 5 måltidskasser og få gratis snacks med de første 3 måneder med min kode: KRISTINES2026\nEller få rabatten helt automatisk ved brug af dette link: http://www.hellofresh.dk/KRISTINES2026\n\ndenne video er vores længe ventede 3D printer endelig kommet hjem - noget vi har set frem til og særligt Mikkel som den grej freak han er, synes det er spændende. Vi samler den og prøver den af - og sikke en verden! I kommer med i køkkenet hvor den står på en smule primitiv madlavning fordi køkkenet flyder, fordi der er VVS arbejde igang og så viser jeg nogle af de sager vi har printet frem. Og er meget fascineret. Vi er også i sving med den helt store rengøring inden Rasmus Brohave kommer på besøg og skal overnatte - og det er jo ingen hemmelighed at min rengøringsstandard ikke helt lever op til den meget pæne mands, haha\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi har købt en 3D printer! | Livet på gården Ep. 78", "f4e67439-da39-4d56-b0cb-76abac7bb12a", 3, [], 1391, false, "Op8Tlzdn5eo", "https://www.youtube.com/watch?v=Op8Tlzdn5eo", 76, "/downloads/shows/Livet på gården/Season 2026/s2026e022600 - Vi har købt en 3D printer! | Livet på gården Ep. 78.mp4", false, false, false, 1, ~U[2026-02-26 15:00:51Z], ~U[2026-04-16 12:17:38Z], ~U[2026-04-16 12:17:38Z], "Denne video indeholder reklame for HelloFresh. \n\nSpar op til 959 kroner på dine første 5 måltidskasser og få gratis snacks med de første 3 måneder med min kode: KRISTINES2026\nEller få rabatten helt automatisk ved brug af dette link: http://www.hellofresh.dk/KRISTINES2026\n\ndenne video er vores længe ventede 3D printer endelig kommet hjem - noget vi har set frem til og særligt Mikkel som den grej freak han er, synes det er spændende. Vi samler den og prøver den af - og sikke en verden! I kommer med i køkkenet hvor den står på en smule primitiv madlavning fordi køkkenet flyder, fordi der er VVS arbejde igang og så viser jeg nogle af de sager vi har printet frem. Og er meget fascineret. Vi er også i sving med den helt store rengøring inden Rasmus Brohave kommer på besøg og skal overnatte - og det er jo ingen hemmelighed at min rengøringsstandard ikke helt lever op til den meget pæne mands, haha\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi har købt en 3D printer! | Livet på gården Ep. 78", 3, 1391, false, "Op8Tlzdn5eo", "https://www.youtube.com/watch?v=Op8Tlzdn5eo", "/downloads/shows/Livet på gården/Season 2026/s2026e022600 - Vi har købt en 3D printer! | Livet på gården Ep. 78.mp4", false, ~U[2026-02-26 15:00:51Z]] 14:17:38.843 [debug] QUERY OK source="sources" db=0.2ms idle=234.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:38.844 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:38.844 [debug] QUERY OK source="media_items" db=0.3ms 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 [140290] 14:17:38.844 [debug] Current batch of media processed. Will check again in 1000ms 14:17:39.845 [debug] Current batch of media processed. Will check again in 1000ms 14:17:40.846 [debug] Current batch of media processed. Will check again in 1000ms 14:17:41.847 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården er der virkelig gang i den. Vi starter ugen ud med at have Rasmus Brohave til overnatning - og han får den store rundtur. Sneen er for alvor kommet på besøg og Mikkel har naturligvis travlt med at komme ud i minilæsseren i en fart - og helt frivilligt tager han kameraet med, så i kan se hvordan det foregår at rydde vores meget lange grusvej. Mine forældre er på besøg - og som altid hjælper min mor med noget husligt og min far tilslutter sig Mikkel og byggeriet - jeg laver babymad og så er jeg blevet besat af surdej. Og nårh jo, så er min baby begyndt at sove om natten.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "duration" => 1601, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e030500 - Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79.mkv", "id" => "Th4fpPdHVU0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Th4fpPdHVU0", "playlist_index" => 77, "timestamp" => 1772722858, "title" => "Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79", "upload_date" => "20260305"} 14:17:41.848 [debug] QUERY OK source="sources" db=0.2ms idle=1402.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:41.848 [debug] QUERY OK source="sources" db=0.1ms idle=1402.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:41.849 [debug] QUERY OK source="media_items" db=0.3ms idle=1403.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-05 15:00:58Z], 3] 14:17:41.850 [debug] QUERY OK source="media_items" db=0.9ms idle=1238.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården er der virkelig gang i den. Vi starter ugen ud med at have Rasmus Brohave til overnatning - og han får den store rundtur. Sneen er for alvor kommet på besøg og Mikkel har naturligvis travlt med at komme ud i minilæsseren i en fart - og helt frivilligt tager han kameraet med, så i kan se hvordan det foregår at rydde vores meget lange grusvej. Mine forældre er på besøg - og som altid hjælper min mor med noget husligt og min far tilslutter sig Mikkel og byggeriet - jeg laver babymad og så er jeg blevet besat af surdej. Og nårh jo, så er min baby begyndt at sove om natten.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79", "92c6c227-e9e2-49f3-9177-3f7b92a46557", 3, [], 1601, false, "Th4fpPdHVU0", "https://www.youtube.com/watch?v=Th4fpPdHVU0", 77, "/downloads/shows/Livet på gården/Season 2026/s2026e030500 - Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79.mkv", false, false, false, 1, ~U[2026-03-05 15:00:58Z], ~U[2026-04-16 12:17:41Z], ~U[2026-04-16 12:17:41Z], "I dette afsnit af livet på gården er der virkelig gang i den. Vi starter ugen ud med at have Rasmus Brohave til overnatning - og han får den store rundtur. Sneen er for alvor kommet på besøg og Mikkel har naturligvis travlt med at komme ud i minilæsseren i en fart - og helt frivilligt tager han kameraet med, så i kan se hvordan det foregår at rydde vores meget lange grusvej. Mine forældre er på besøg - og som altid hjælper min mor med noget husligt og min far tilslutter sig Mikkel og byggeriet - jeg laver babymad og så er jeg blevet besat af surdej. Og nårh jo, så er min baby begyndt at sove om natten.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79", 3, 1601, false, "Th4fpPdHVU0", "https://www.youtube.com/watch?v=Th4fpPdHVU0", "/downloads/shows/Livet på gården/Season 2026/s2026e030500 - Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79.mkv", false, ~U[2026-03-05 15:00:58Z]] 14:17:41.851 [debug] QUERY OK source="sources" db=0.2ms idle=238.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:41.851 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:41.852 [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 [143569] 14:17:41.852 [debug] Current batch of media processed. Will check again in 1000ms 14:17:42.853 [debug] Current batch of media processed. Will check again in 1000ms 14:17:43.854 [debug] Current batch of media processed. Will check again in 1000ms 14:17:44.855 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er mine forældre på besøg og min mor og jeg sætter os for langt om længe at få støbt nogle fugtkasser til mig, som er et uundværligt redskab i keramikværkstedet. Jeg er efter lang tids pause tilbage ved bageriet og kaster mig over nogle virale chokoladeboller - og så har vvs'eren været på for at etablere pexslanger til kold og varm vand, så Mikkel nu kan komme videre med tømrerdelen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "duration" => 1829, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e031200 - Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80.mkv", "id" => "WZAGvRqldgo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WZAGvRqldgo", "playlist_index" => 78, "timestamp" => 1773327658, "title" => "Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80", "upload_date" => "20260312"} 14:17:44.856 [debug] QUERY OK source="sources" db=0.2ms idle=1410.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:44.856 [debug] QUERY OK source="sources" db=0.1ms idle=1411.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:44.857 [debug] QUERY OK source="media_items" db=0.3ms idle=1411.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-12 15:00:58Z], 3] 14:17:44.858 [debug] QUERY OK source="media_items" db=0.9ms idle=1243.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er mine forældre på besøg og min mor og jeg sætter os for langt om længe at få støbt nogle fugtkasser til mig, som er et uundværligt redskab i keramikværkstedet. Jeg er efter lang tids pause tilbage ved bageriet og kaster mig over nogle virale chokoladeboller - og så har vvs'eren været på for at etablere pexslanger til kold og varm vand, så Mikkel nu kan komme videre med tømrerdelen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80", "7e78d06d-5595-4901-8d6a-8350adf54703", 3, [], 1829, false, "WZAGvRqldgo", "https://www.youtube.com/watch?v=WZAGvRqldgo", 78, "/downloads/shows/Livet på gården/Season 2026/s2026e031200 - Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80.mkv", false, false, false, 1, ~U[2026-03-12 15:00:58Z], ~U[2026-04-16 12:17:44Z], ~U[2026-04-16 12:17:44Z], "I dette afsnit er mine forældre på besøg og min mor og jeg sætter os for langt om længe at få støbt nogle fugtkasser til mig, som er et uundværligt redskab i keramikværkstedet. Jeg er efter lang tids pause tilbage ved bageriet og kaster mig over nogle virale chokoladeboller - og så har vvs'eren været på for at etablere pexslanger til kold og varm vand, så Mikkel nu kan komme videre med tømrerdelen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80", 3, 1829, false, "WZAGvRqldgo", "https://www.youtube.com/watch?v=WZAGvRqldgo", "/downloads/shows/Livet på gården/Season 2026/s2026e031200 - Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80.mkv", false, ~U[2026-03-12 15:00:58Z]] 14:17:44.859 [debug] QUERY OK source="sources" db=0.1ms idle=243.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:44.859 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:44.860 [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 [146839] 14:17:44.860 [debug] Current batch of media processed. Will check again in 1000ms 14:17:45.861 [debug] Current batch of media processed. Will check again in 1000ms 14:17:46.862 [debug] Current batch of media processed. Will check again in 1000ms 14:17:47.863 [debug] Current batch of media processed. Will check again in 1000ms 14:17:48.864 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit prøver jeg at bage med min surdej for aller første gang - det viser sig jo at være en lang proces, men det jeg tror faktisk det går okay? Mikkel er i fuld gang med at bygge skillevægge på første salen og han tager kameraet med og fortæller hvordan og hvorledes - og laver timelapse af processen. Malene kommer på besøg efter mange måneder - og hvad laver hun egentlig nu? Det runder vi - og så tager vi en status på forretningsdelen i keramikken og snakker om hvordan det går. Og så har jeg lavet kopper til et særligt par. Malene kan ikke gætte hvem de er til - men det kan du måske? \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "duration" => 1440, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e031900 - Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81.mkv", "id" => "wvCb1ystnC0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wvCb1ystnC0", "playlist_index" => 79, "timestamp" => 1773932500, "title" => "Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81", "upload_date" => "20260319"} 14:17:48.865 [debug] QUERY OK source="sources" db=0.2ms idle=419.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:48.866 [debug] QUERY OK source="sources" db=0.1ms idle=420.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:48.866 [debug] QUERY OK source="media_items" db=0.3ms idle=420.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 15:01:40Z], 3] 14:17:48.868 [debug] QUERY OK source="media_items" db=0.9ms idle=421.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit prøver jeg at bage med min surdej for aller første gang - det viser sig jo at være en lang proces, men det jeg tror faktisk det går okay? Mikkel er i fuld gang med at bygge skillevægge på første salen og han tager kameraet med og fortæller hvordan og hvorledes - og laver timelapse af processen. Malene kommer på besøg efter mange måneder - og hvad laver hun egentlig nu? Det runder vi - og så tager vi en status på forretningsdelen i keramikken og snakker om hvordan det går. Og så har jeg lavet kopper til et særligt par. Malene kan ikke gætte hvem de er til - men det kan du måske? \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81", "0838009c-09ce-4003-bc71-506d4181f188", 3, [], 1440, false, "wvCb1ystnC0", "https://www.youtube.com/watch?v=wvCb1ystnC0", 79, "/downloads/shows/Livet på gården/Season 2026/s2026e031900 - Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81.mkv", false, false, false, 1, ~U[2026-03-19 15:01:40Z], ~U[2026-04-16 12:17:48Z], ~U[2026-04-16 12:17:48Z], "I dette afsnit prøver jeg at bage med min surdej for aller første gang - det viser sig jo at være en lang proces, men det jeg tror faktisk det går okay? Mikkel er i fuld gang med at bygge skillevægge på første salen og han tager kameraet med og fortæller hvordan og hvorledes - og laver timelapse af processen. Malene kommer på besøg efter mange måneder - og hvad laver hun egentlig nu? Det runder vi - og så tager vi en status på forretningsdelen i keramikken og snakker om hvordan det går. Og så har jeg lavet kopper til et særligt par. Malene kan ikke gætte hvem de er til - men det kan du måske? \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81", 3, 1440, false, "wvCb1ystnC0", "https://www.youtube.com/watch?v=wvCb1ystnC0", "/downloads/shows/Livet på gården/Season 2026/s2026e031900 - Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81.mkv", false, ~U[2026-03-19 15:01:40Z]] 14:17:48.868 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=249.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:48.869 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:48.870 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [150144] 14:17:48.870 [debug] Current batch of media processed. Will check again in 1000ms 14:17:49.870 [debug] Current batch of media processed. Will check again in 1000ms 14:17:50.871 [debug] Current batch of media processed. Will check again in 1000ms 14:17:51.872 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video har Mikkel for alvor taget mine ord til sig og taget kameraet med ovenpå mens han er i fuld gang med gulvvarmen - han går i detaljer med hvordan han gør og hvilke tanker han har gjort sig om processen. Blandt andet fortæller han hvordan han har valgt at lave et \"svømmende gulv\". Vi er på årets første have vandring og beslutter os for nu at sætte alt ind på at den køkkenhave skal komme til at spille. Alt skal væk og etableres helt på ny!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "duration" => 1393, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e032600 - Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82.mkv", "id" => "pxD1_Ax0eMI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pxD1_Ax0eMI", "playlist_index" => 80, "timestamp" => 1774537291, "title" => "Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82", "upload_date" => "20260326"} 14:17:51.873 [debug] QUERY OK source="sources" db=0.3ms idle=1427.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:51.873 [debug] QUERY OK source="sources" db=0.2ms idle=1427.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:51.874 [debug] QUERY OK source="media_items" db=0.4ms idle=1428.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-26 15:01:31Z], 3] 14:17:51.876 [debug] QUERY OK source="media_items" db=0.9ms idle=1253.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har Mikkel for alvor taget mine ord til sig og taget kameraet med ovenpå mens han er i fuld gang med gulvvarmen - han går i detaljer med hvordan han gør og hvilke tanker han har gjort sig om processen. Blandt andet fortæller han hvordan han har valgt at lave et \"svømmende gulv\". Vi er på årets første have vandring og beslutter os for nu at sætte alt ind på at den køkkenhave skal komme til at spille. Alt skal væk og etableres helt på ny!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82", "98b23ac9-fff2-42a2-8637-ad3a11388d47", 3, [], 1393, false, "pxD1_Ax0eMI", "https://www.youtube.com/watch?v=pxD1_Ax0eMI", 80, "/downloads/shows/Livet på gården/Season 2026/s2026e032600 - Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82.mkv", false, false, false, 1, ~U[2026-03-26 15:01:31Z], ~U[2026-04-16 12:17:51Z], ~U[2026-04-16 12:17:51Z], "I denne video har Mikkel for alvor taget mine ord til sig og taget kameraet med ovenpå mens han er i fuld gang med gulvvarmen - han går i detaljer med hvordan han gør og hvilke tanker han har gjort sig om processen. Blandt andet fortæller han hvordan han har valgt at lave et \"svømmende gulv\". Vi er på årets første have vandring og beslutter os for nu at sætte alt ind på at den køkkenhave skal komme til at spille. Alt skal væk og etableres helt på ny!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82", 3, 1393, false, "pxD1_Ax0eMI", "https://www.youtube.com/watch?v=pxD1_Ax0eMI", "/downloads/shows/Livet på gården/Season 2026/s2026e032600 - Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82.mkv", false, ~U[2026-03-26 15:01:31Z]] 14:17:51.876 [debug] QUERY OK source="sources" db=0.2ms idle=254.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:51.877 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:51.877 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [153491] 14:17:51.877 [debug] Current batch of media processed. Will check again in 1000ms 14:17:52.878 [debug] Current batch of media processed. Will check again in 1000ms 14:17:53.879 [debug] Current batch of media processed. Will check again in 1000ms 14:17:54.718 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLQJc0AKwP-an6_0X-ZX9pzXAHn5pQXqTd --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Livet på gården/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+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/b8/39/b83925f36ac3d1f68ec6fec2f1259573c71a8046f1a0dbc904eec2d937e1bf0b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:17:54.720 [debug] Gracefully stopping file follower 14:17:54.720 [debug] QUERY OK source="sources" db=0.2ms idle=1274.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 14:17:54.721 [debug] QUERY OK source="sources" db=0.1ms idle=1275.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.721 [debug] QUERY OK source="media_items" db=0.4ms idle=1275.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-09 08:00:00Z], 3] 14:17:54.723 [debug] QUERY OK source="media_items" db=0.7ms idle=1097.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sikke jeg har glædet mig til endelig at kunne dele denne rejse med jer. Vi er flyttet på landet! Jeg er tilbage på youtube og har taget hul på en ny begyndelse - mellem marker, dyr, og alt det andet som følger med at bo på landet. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Rotter og høns på en rasteplads | Livet på gården Ep. 1", "8bf59c28-0d7b-4166-bd21-9d71bede190b", 3, [], 1584, false, "0HQ2lA9SaEw", "https://www.youtube.com/watch?v=0HQ2lA9SaEw", 1, "/downloads/shows/Livet på gården/Season 2024/s2024e050900 - Rotter og høns på en rasteplads | Livet på gården Ep. 1.mp4", false, false, false, 1, ~U[2024-05-09 08:00:00Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "Sikke jeg har glædet mig til endelig at kunne dele denne rejse med jer. Vi er flyttet på landet! Jeg er tilbage på youtube og har taget hul på en ny begyndelse - mellem marker, dyr, og alt det andet som følger med at bo på landet. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Rotter og høns på en rasteplads | Livet på gården Ep. 1", 3, 1584, false, "0HQ2lA9SaEw", "https://www.youtube.com/watch?v=0HQ2lA9SaEw", "/downloads/shows/Livet på gården/Season 2024/s2024e050900 - Rotter og høns på en rasteplads | Livet på gården Ep. 1.mp4", false, ~U[2024-05-09 08:00:00Z]] 14:17:54.723 [debug] QUERY OK source="sources" db=0.1ms idle=97.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.724 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-16 14:00:32Z], 3] 14:17:54.725 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit henter vi vores hund Carla, begynder for alvor at pille huset fra hinanden og meget mere. Tak fordi du vil se med. Det betyder mere end du aner!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kriistinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får en hundehvalp | Livet på gården Ep. 2", "44230a52-4de9-468f-a7d8-a63008c5ecb2", 3, [], 1514, false, "TsAkJcpR_Io", "https://www.youtube.com/watch?v=TsAkJcpR_Io", 2, "/downloads/shows/Livet på gården/Season 2024/s2024e051600 - Vi får en hundehvalp | Livet på gården Ep. 2.mp4", false, false, false, 1, ~U[2024-05-16 14:00:32Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit henter vi vores hund Carla, begynder for alvor at pille huset fra hinanden og meget mere. Tak fordi du vil se med. Det betyder mere end du aner!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kriistinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får en hundehvalp | Livet på gården Ep. 2", 3, 1514, false, "TsAkJcpR_Io", "https://www.youtube.com/watch?v=TsAkJcpR_Io", "/downloads/shows/Livet på gården/Season 2024/s2024e051600 - Vi får en hundehvalp | Livet på gården Ep. 2.mp4", false, ~U[2024-05-16 14:00:32Z]] 14:17:54.726 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.726 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-23 14:00:44Z], 3] 14:17:54.727 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dagens afsnit er der mangel på overskud, og en hulens masse sand. Tak fordi du ser med \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi graver ud i huset | Livet på gården Ep.3", "2ef3b119-0d13-4bb1-b4d5-753f9295a504", 3, [], 1483, false, "mzYiI1eVSe8", "https://www.youtube.com/watch?v=mzYiI1eVSe8", 3, "/downloads/shows/Livet på gården/Season 2024/s2024e052300 - Vi graver ud i huset | Livet på gården Ep.3.mp4", false, false, false, 1, ~U[2024-05-23 14:00:44Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dagens afsnit er der mangel på overskud, og en hulens masse sand. Tak fordi du ser med \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi graver ud i huset | Livet på gården Ep.3", 3, 1483, false, "mzYiI1eVSe8", "https://www.youtube.com/watch?v=mzYiI1eVSe8", "/downloads/shows/Livet på gården/Season 2024/s2024e052300 - Vi graver ud i huset | Livet på gården Ep.3.mp4", false, ~U[2024-05-23 14:00:44Z]] 14:17:54.728 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.728 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-30 14:00:02Z], 3] 14:17:54.730 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dagens afsnit bryder en hest ind i den lille ladelejlighed, der har været ubehageligt besøg i hønsehuset og så er der for alvor kommet gang i køkkenhaven. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "En hest i stuen og døde høns | Livet på gården Ep. 4", "51369136-c756-420a-a90c-7b68fa8503fe", 3, [], 2520, false, "0jEgoy_T4E4", "https://www.youtube.com/watch?v=0jEgoy_T4E4", 4, "/downloads/shows/Livet på gården/Season 2024/s2024e053000 - En hest i stuen og døde høns | Livet på gården Ep. 4.mp4", false, false, false, 1, ~U[2024-05-30 14:00:02Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dagens afsnit bryder en hest ind i den lille ladelejlighed, der har været ubehageligt besøg i hønsehuset og så er der for alvor kommet gang i køkkenhaven. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "En hest i stuen og døde høns | Livet på gården Ep. 4", 3, 2520, false, "0jEgoy_T4E4", "https://www.youtube.com/watch?v=0jEgoy_T4E4", "/downloads/shows/Livet på gården/Season 2024/s2024e053000 - En hest i stuen og døde høns | Livet på gården Ep. 4.mp4", false, ~U[2024-05-30 14:00:02Z]] 14:17:54.730 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.731 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-06 14:00:57Z], 3] 14:17:54.732 [debug] QUERY OK source="media_items" db=0.6ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit får vores høne Karen kyllinger, vi renoverer stadig derudaf og så får vi leveret køkken. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får kyllinger og køkken | Livet på gården Ep.5", "3c400c2f-5b0b-48e1-b499-6a3a2f171368", 3, [], 2357, false, "w_MEeum-cxQ", "https://www.youtube.com/watch?v=w_MEeum-cxQ", 5, "/downloads/shows/Livet på gården/Season 2024/s2024e060600 - Vi får kyllinger og køkken | Livet på gården Ep.5.mp4", false, false, false, 1, ~U[2024-06-06 14:00:57Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit får vores høne Karen kyllinger, vi renoverer stadig derudaf og så får vi leveret køkken. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får kyllinger og køkken | Livet på gården Ep.5", 3, 2357, false, "w_MEeum-cxQ", "https://www.youtube.com/watch?v=w_MEeum-cxQ", "/downloads/shows/Livet på gården/Season 2024/s2024e060600 - Vi får kyllinger og køkken | Livet på gården Ep.5.mp4", false, ~U[2024-06-06 14:00:57Z]] 14:17:54.732 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.733 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-13 14:00:14Z], 3] 14:17:54.734 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode kan man roligt sige at der er kaos på gården. Midt i renoveringen får vi besøg af flere millioner blodmider, som er ved at suge blod fra alle hønsene. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6", "da71e6d9-2ffe-41f3-ba00-06f221a218a7", 3, [], 1911, false, "LgpqgWbzuiM", "https://www.youtube.com/watch?v=LgpqgWbzuiM", 6, "/downloads/shows/Livet på gården/Season 2024/s2024e061300 - Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6.mp4", false, false, false, 1, ~U[2024-06-13 14:00:14Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I denne episode kan man roligt sige at der er kaos på gården. Midt i renoveringen får vi besøg af flere millioner blodmider, som er ved at suge blod fra alle hønsene. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6", 3, 1911, false, "LgpqgWbzuiM", "https://www.youtube.com/watch?v=LgpqgWbzuiM", "/downloads/shows/Livet på gården/Season 2024/s2024e061300 - Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6.mp4", false, ~U[2024-06-13 14:00:14Z]] 14:17:54.735 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.735 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-20 14:00:44Z], 3] 14:17:54.737 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der mere kaos, både da vores heste stikker af om natten og en meget tung bordplade skal på plads. Og så er Mikkel udkørt. Meget udkørt.\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vores heste stikker af | Livet på gården Ep. 7", "6760b8e4-d719-471d-90eb-e750fc2b588c", 3, [], 1808, false, "tPMYODqzWfI", "https://www.youtube.com/watch?v=tPMYODqzWfI", 7, "/downloads/shows/Livet på gården/Season 2024/s2024e062000 - Vores heste stikker af | Livet på gården Ep. 7.mp4", false, false, false, 1, ~U[2024-06-20 14:00:44Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit er der mere kaos, både da vores heste stikker af om natten og en meget tung bordplade skal på plads. Og så er Mikkel udkørt. Meget udkørt.\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vores heste stikker af | Livet på gården Ep. 7", 3, 1808, false, "tPMYODqzWfI", "https://www.youtube.com/watch?v=tPMYODqzWfI", "/downloads/shows/Livet på gården/Season 2024/s2024e062000 - Vores heste stikker af | Livet på gården Ep. 7.mp4", false, ~U[2024-06-20 14:00:44Z]] 14:17:54.737 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.738 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-27 14:00:03Z], 3] 14:17:54.739 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der vand OVERALT, heste flytter hjemmefra og så får vi virkelig rykket på sager i huset - hvilket er meget tiltrængt, da vinteren nærmer sig med hastige skridt. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8", "7d6b7dae-ae46-4362-ba85-556fd6079058", 3, [], 2043, false, "5w4Zkb-V2fE", "https://www.youtube.com/watch?v=5w4Zkb-V2fE", 8, "/downloads/shows/Livet på gården/Season 2024/s2024e062700 - Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8.mp4", false, false, false, 1, ~U[2024-06-27 14:00:03Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit er der vand OVERALT, heste flytter hjemmefra og så får vi virkelig rykket på sager i huset - hvilket er meget tiltrængt, da vinteren nærmer sig med hastige skridt. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8", 3, 2043, false, "5w4Zkb-V2fE", "https://www.youtube.com/watch?v=5w4Zkb-V2fE", "/downloads/shows/Livet på gården/Season 2024/s2024e062700 - Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8.mp4", false, ~U[2024-06-27 14:00:03Z]] 14:17:54.739 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.740 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-04 14:00:14Z], 3] 14:17:54.743 [debug] QUERY OK source="media_items" db=2.1ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit runder vi har for denne gang, flytter ind i huset og viser rundt.\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "House tour | Livet på gården Ep. 9", "ea0f46b2-d357-4ced-b6d8-00f41a0bd663", 3, [], 2059, false, "KotEK3OaF80", "https://www.youtube.com/watch?v=KotEK3OaF80", 9, "/downloads/shows/Livet på gården/Season 2024/s2024e070400 - House tour | Livet på gården Ep. 9.mp4", false, false, false, 1, ~U[2024-07-04 14:00:14Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit runder vi har for denne gang, flytter ind i huset og viser rundt.\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "House tour | Livet på gården Ep. 9", 3, 2059, false, "KotEK3OaF80", "https://www.youtube.com/watch?v=KotEK3OaF80", "/downloads/shows/Livet på gården/Season 2024/s2024e070400 - House tour | Livet på gården Ep. 9.mp4", false, ~U[2024-07-04 14:00:14Z]] 14:17:54.743 [debug] QUERY OK source="sources" db=0.2ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.744 [debug] QUERY OK source="media_items" db=0.3ms idle=4.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-18 14:00:09Z], 3] 14:17:54.745 [debug] QUERY OK source="media_items" db=0.7ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har vi desværre haft besøg af måren som har taget liv af næsten alle vores høns, jeg udruger kyllinger i rugemaskine og så er der så småt ved at være gang i haven i det tidlige forår. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Måren har dræbt vores høns | Livet på gården Ep. 10", "a5e13c4c-0ca7-460d-bb34-d13c2438db5a", 3, [], 1462, false, "ACbhu-bCkCs", "https://www.youtube.com/watch?v=ACbhu-bCkCs", 10, "/downloads/shows/Livet på gården/Season 2024/s2024e071800 - Måren har dræbt vores høns | Livet på gården Ep. 10.mp4", false, false, false, 1, ~U[2024-07-18 14:00:09Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit har vi desværre haft besøg af måren som har taget liv af næsten alle vores høns, jeg udruger kyllinger i rugemaskine og så er der så småt ved at være gang i haven i det tidlige forår. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Måren har dræbt vores høns | Livet på gården Ep. 10", 3, 1462, false, "ACbhu-bCkCs", "https://www.youtube.com/watch?v=ACbhu-bCkCs", "/downloads/shows/Livet på gården/Season 2024/s2024e071800 - Måren har dræbt vores høns | Livet på gården Ep. 10.mp4", false, ~U[2024-07-18 14:00:09Z]] 14:17:54.745 [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" = ?) [3] 14:17:54.746 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-25 14:00:21Z], 3] 14:17:54.747 [debug] QUERY OK source="media_items" db=0.7ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit står hønsehuset endelig færdigt og der flytter nye damer ind i gården. Der er ogs fuld fart på rugemaskinen, dog med dårligt held. Og så er vi ved at gøre haven klar til sæsonen. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nye høns og havearbejde | Livet på gården Ep. 11", "d8837e30-dce8-4662-9b31-0ad50ded97d9", 3, [], 1666, false, "Sk2CUC0pUsw", "https://www.youtube.com/watch?v=Sk2CUC0pUsw", 11, "/downloads/shows/Livet på gården/Season 2024/s2024e072500 - Nye høns og havearbejde | Livet på gården Ep. 11.mp4", false, false, false, 1, ~U[2024-07-25 14:00:21Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit står hønsehuset endelig færdigt og der flytter nye damer ind i gården. Der er ogs fuld fart på rugemaskinen, dog med dårligt held. Og så er vi ved at gøre haven klar til sæsonen. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nye høns og havearbejde | Livet på gården Ep. 11", 3, 1666, false, "Sk2CUC0pUsw", "https://www.youtube.com/watch?v=Sk2CUC0pUsw", "/downloads/shows/Livet på gården/Season 2024/s2024e072500 - Nye høns og havearbejde | Livet på gården Ep. 11.mp4", false, ~U[2024-07-25 14:00:21Z]] 14:17:54.747 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.748 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-01 14:00:42Z], 3] 14:17:54.749 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har jeg fuld gang i forspiringen, vi laver højbede og har taget en stor beslutning omkring vores 2 heste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Heste og højbede | Livet på gården Ep. 12", "375aea60-898b-4c4c-952f-53e233abfca5", 3, [], 1747, false, "npE-BTzFMWc", "https://www.youtube.com/watch?v=npE-BTzFMWc", 12, "/downloads/shows/Livet på gården/Season 2024/s2024e080100 - Heste og højbede | Livet på gården Ep. 12.mp4", false, false, false, 1, ~U[2024-08-01 14:00:42Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I denne video har jeg fuld gang i forspiringen, vi laver højbede og har taget en stor beslutning omkring vores 2 heste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Heste og højbede | Livet på gården Ep. 12", 3, 1747, false, "npE-BTzFMWc", "https://www.youtube.com/watch?v=npE-BTzFMWc", "/downloads/shows/Livet på gården/Season 2024/s2024e080100 - Heste og højbede | Livet på gården Ep. 12.mp4", false, ~U[2024-08-01 14:00:42Z]] 14:17:54.750 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.750 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-08 14:00:44Z], 3] 14:17:54.751 [debug] QUERY OK source="media_items" db=0.7ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har vi taget en stor beslutning om at der skal flytte nye firebenede ind på marken, og vores kat Willy har kræft i øjet - og får det fjernet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13", "f42e687b-4191-43b1-8385-40ccedca4c10", 3, [], 1645, false, "mBkf-1EFsdE", "https://www.youtube.com/watch?v=mBkf-1EFsdE", 13, "/downloads/shows/Livet på gården/Season 2024/s2024e080800 - Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13.mp4", false, false, false, 1, ~U[2024-08-08 14:00:44Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit har vi taget en stor beslutning om at der skal flytte nye firebenede ind på marken, og vores kat Willy har kræft i øjet - og får det fjernet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13", 3, 1645, false, "mBkf-1EFsdE", "https://www.youtube.com/watch?v=mBkf-1EFsdE", "/downloads/shows/Livet på gården/Season 2024/s2024e080800 - Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13.mp4", false, ~U[2024-08-08 14:00:44Z]] 14:17:54.752 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.752 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-15 14:00:16Z], 3] 14:17:54.753 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit får vi endelig grise, Felix er på besøg og jeg har nogle lidt svære dage. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "VI HAR FÅET GRISE! | Livet på gården Ep. 14", "f32a692f-8100-4b34-b434-ba22c60520f1", 3, [], 1651, false, "EKIo-bTmT5I", "https://www.youtube.com/watch?v=EKIo-bTmT5I", 14, "/downloads/shows/Livet på gården/Season 2024/s2024e081500 - VI HAR FÅET GRISE! | Livet på gården Ep. 14.mp4", false, false, false, 1, ~U[2024-08-15 14:00:16Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit får vi endelig grise, Felix er på besøg og jeg har nogle lidt svære dage. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "VI HAR FÅET GRISE! | Livet på gården Ep. 14", 3, 1651, false, "EKIo-bTmT5I", "https://www.youtube.com/watch?v=EKIo-bTmT5I", "/downloads/shows/Livet på gården/Season 2024/s2024e081500 - VI HAR FÅET GRISE! | Livet på gården Ep. 14.mp4", false, ~U[2024-08-15 14:00:16Z]] 14:17:54.754 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.754 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-22 14:00:53Z], 3] 14:17:54.756 [debug] QUERY OK source="media_items" db=0.7ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har jeg nogle dårlige dage, jeg taler om mine diagnose, og så er der kommet godt gang i køkkenhaven - og dræbersneglene. Derudover må jeg tage livet af en kylling, fordi de andre er nogle bæster. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Diagnose og dræbersnegle | Livet på gården Ep. 15", "b5b985c7-4a63-4660-9302-d85489bf5f9d", 3, [], 1505, false, "tVgdZ9ycitU", "https://www.youtube.com/watch?v=tVgdZ9ycitU", 15, "/downloads/shows/Livet på gården/Season 2024/s2024e082200 - Diagnose og dræbersnegle | Livet på gården Ep. 15.mp4", false, false, false, 1, ~U[2024-08-22 14:00:53Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I denne video har jeg nogle dårlige dage, jeg taler om mine diagnose, og så er der kommet godt gang i køkkenhaven - og dræbersneglene. Derudover må jeg tage livet af en kylling, fordi de andre er nogle bæster. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Diagnose og dræbersnegle | Livet på gården Ep. 15", 3, 1505, false, "tVgdZ9ycitU", "https://www.youtube.com/watch?v=tVgdZ9ycitU", "/downloads/shows/Livet på gården/Season 2024/s2024e082200 - Diagnose og dræbersnegle | Livet på gården Ep. 15.mp4", false, ~U[2024-08-22 14:00:53Z]] 14:17:54.756 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.757 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-29 14:00:26Z], 3] 14:17:54.758 [debug] QUERY OK source="media_items" db=0.7ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer der 5 nye liv til verden, når Connie føder sine små griseunger, vi gør klar til sankt hans og så har vi fået et nyt projekt, nemlig at renovere det gamle fyrrum om til keramikværksted.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Grisefødsel og sankt hans på gården | Livet på gården Ep. 16", "2f5b41d4-ed66-4a13-8875-cc0abb5f6d3d", 3, [], 1871, false, "X-mJfUiB8oE", "https://www.youtube.com/watch?v=X-mJfUiB8oE", 16, "/downloads/shows/Livet på gården/Season 2024/s2024e082900 - Grisefødsel og sankt hans på gården | Livet på gården Ep. 16.mp4", false, false, false, 1, ~U[2024-08-29 14:00:26Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit kommer der 5 nye liv til verden, når Connie føder sine små griseunger, vi gør klar til sankt hans og så har vi fået et nyt projekt, nemlig at renovere det gamle fyrrum om til keramikværksted.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Grisefødsel og sankt hans på gården | Livet på gården Ep. 16", 3, 1871, false, "X-mJfUiB8oE", "https://www.youtube.com/watch?v=X-mJfUiB8oE", "/downloads/shows/Livet på gården/Season 2024/s2024e082900 - Grisefødsel og sankt hans på gården | Livet på gården Ep. 16.mp4", false, ~U[2024-08-29 14:00:26Z]] 14:17:54.758 [debug] QUERY OK source="sources" db=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.759 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-19 14:00:08Z], 3] 14:17:54.760 [debug] QUERY OK source="media_items" db=0.7ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit sætter jeg mit keramik til salg for anden gang, med kæmpe sommerfugle i maven, jeg kører akut hjem fra en fødselsdag fordi det ligner at Helle er ved at føde - og så starter vi renoveringen af det nye værksted!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Keramiksalg og nyt værksted | Livet på gården Ep. 19", "ff212f1f-d090-41f5-8285-a47d56b17e94", 3, [], 1643, false, "ACPmnpI3fvU", "https://www.youtube.com/watch?v=ACPmnpI3fvU", 17, "/downloads/shows/Livet på gården/Season 2024/s2024e091900 - Keramiksalg og nyt værksted | Livet på gården Ep. 19.mp4", false, false, false, 1, ~U[2024-09-19 14:00:08Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit sætter jeg mit keramik til salg for anden gang, med kæmpe sommerfugle i maven, jeg kører akut hjem fra en fødselsdag fordi det ligner at Helle er ved at føde - og så starter vi renoveringen af det nye værksted!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Keramiksalg og nyt værksted | Livet på gården Ep. 19", 3, 1643, false, "ACPmnpI3fvU", "https://www.youtube.com/watch?v=ACPmnpI3fvU", "/downloads/shows/Livet på gården/Season 2024/s2024e091900 - Keramiksalg og nyt værksted | Livet på gården Ep. 19.mp4", false, ~U[2024-09-19 14:00:08Z]] 14:17:54.761 [debug] QUERY OK source="sources" db=0.3ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.761 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-12 14:01:03Z], 3] 14:17:54.762 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for IKEA.\n\nI denne video handler det om søvn og soveværelse. IKEA har nemlig spurgt mig om ikke jeg kunne have lyst til at få bygget vores kommende soveværelse i deres showroom i Aalborg. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBusiness mail: business@kristinesloth.dk", "Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18", "2ad7bf28-1dfc-4de6-9876-a0273a0330f1", 3, [], 1387, false, "yzoiqawrf90", "https://www.youtube.com/watch?v=yzoiqawrf90", 18, "/downloads/shows/Livet på gården/Season 2024/s2024e091200 - Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18.mp4", false, false, false, 1, ~U[2024-09-12 14:01:03Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "Denne video indeholder reklame for IKEA.\n\nI denne video handler det om søvn og soveværelse. IKEA har nemlig spurgt mig om ikke jeg kunne have lyst til at få bygget vores kommende soveværelse i deres showroom i Aalborg. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBusiness mail: business@kristinesloth.dk", "Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18", 3, 1387, false, "yzoiqawrf90", "https://www.youtube.com/watch?v=yzoiqawrf90", "/downloads/shows/Livet på gården/Season 2024/s2024e091200 - Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18.mp4", false, ~U[2024-09-12 14:01:03Z]] 14:17:54.763 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.764 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-03 14:00:34Z], 3] 14:17:54.765 [debug] QUERY OK source="media_items" db=0.8ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit besøger jeg for første gang dyrenes beskyttelse som ambassadør. En hel dag fyldt med magiske dyr, der bare drømmer om at nogen vil have dem til at bo hos sig. Jeg havde taget dem alle sammen hvis jeg måtte for Mikkel. \n\nDu kan læse mere om dyrenes beskyttelse og deres arbejde, samt se alle de dyr der er til adoption lige her: https://www.dyrenesbeskyttelse.dk/\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En hel dag på dyreinternat | Livet på gården Ep. 21", "16dbd790-3e02-491c-b896-6d5452211085", 3, [], 1742, false, "UlJfAh2C0fE", "https://www.youtube.com/watch?v=UlJfAh2C0fE", 19, "/downloads/shows/Livet på gården/Season 2024/s2024e100300 - En hel dag på dyreinternat | Livet på gården Ep. 21.mp4", false, false, false, 1, ~U[2024-10-03 14:00:34Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit besøger jeg for første gang dyrenes beskyttelse som ambassadør. En hel dag fyldt med magiske dyr, der bare drømmer om at nogen vil have dem til at bo hos sig. Jeg havde taget dem alle sammen hvis jeg måtte for Mikkel. \n\nDu kan læse mere om dyrenes beskyttelse og deres arbejde, samt se alle de dyr der er til adoption lige her: https://www.dyrenesbeskyttelse.dk/\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En hel dag på dyreinternat | Livet på gården Ep. 21", 3, 1742, false, "UlJfAh2C0fE", "https://www.youtube.com/watch?v=UlJfAh2C0fE", "/downloads/shows/Livet på gården/Season 2024/s2024e100300 - En hel dag på dyreinternat | Livet på gården Ep. 21.mp4", false, ~U[2024-10-03 14:00:34Z]] 14:17:54.765 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.766 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-10 14:00:09Z], 3] 14:17:54.767 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit får vi sat det sidste præg på værkstedet, og Mikkel får sin vilje og maler den skrigepink over med beige. Malene og jeg har som opgave at indrette og gøre det brugbart - og faktisk ender det med at blive virkelig godt. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22", "0f840843-1156-4cad-8a08-40a94d1055b4", 3, [], 1514, false, "5fUjlgO0xVU", "https://www.youtube.com/watch?v=5fUjlgO0xVU", 20, "/downloads/shows/Livet på gården/Season 2024/s2024e101000 - Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22.mp4", false, false, false, 1, ~U[2024-10-10 14:00:09Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit får vi sat det sidste præg på værkstedet, og Mikkel får sin vilje og maler den skrigepink over med beige. Malene og jeg har som opgave at indrette og gøre det brugbart - og faktisk ender det med at blive virkelig godt. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22", 3, 1514, false, "5fUjlgO0xVU", "https://www.youtube.com/watch?v=5fUjlgO0xVU", "/downloads/shows/Livet på gården/Season 2024/s2024e101000 - Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22.mp4", false, ~U[2024-10-10 14:00:09Z]] 14:17:54.768 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.768 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-17 14:00:04Z], 3] 14:17:54.769 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i med igennem hele processen af hvordan jeg laver mit keramik.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Lav keramik med mig - fra start til slut | Livet på gården Ep. 23", "0d33b9c1-923a-444f-878f-a1a5b2158e92", 3, [], 1892, false, "1FSZw5q8Zaw", "https://www.youtube.com/watch?v=1FSZw5q8Zaw", 21, "/downloads/shows/Livet på gården/Season 2024/s2024e101700 - Lav keramik med mig - fra start til slut | Livet på gården Ep. 23.mp4", false, false, false, 1, ~U[2024-10-17 14:00:04Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit kommer i med igennem hele processen af hvordan jeg laver mit keramik.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Lav keramik med mig - fra start til slut | Livet på gården Ep. 23", 3, 1892, false, "1FSZw5q8Zaw", "https://www.youtube.com/watch?v=1FSZw5q8Zaw", "/downloads/shows/Livet på gården/Season 2024/s2024e101700 - Lav keramik med mig - fra start til slut | Livet på gården Ep. 23.mp4", false, ~U[2024-10-17 14:00:04Z]] 14:17:54.770 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.770 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-24 14:00:05Z], 3] 14:17:54.772 [debug] QUERY OK source="media_items" db=0.9ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er Felix på besøg og hjælper til med at tømme keramikovnen, vores store orpington skrukker og køkkenhaven er begyndt at give grøntsager - dog meget sparsomt, da sommeren i år har været fyldt med køkkenhave-fjender. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24", "323213bb-58e1-4480-9679-38a13e6a2345", 3, [], 2101, false, "6vrGogQTGw8", "https://www.youtube.com/watch?v=6vrGogQTGw8", 22, "/downloads/shows/Livet på gården/Season 2024/s2024e102400 - Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24.mp4", false, false, false, 1, ~U[2024-10-24 14:00:05Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit er Felix på besøg og hjælper til med at tømme keramikovnen, vores store orpington skrukker og køkkenhaven er begyndt at give grøntsager - dog meget sparsomt, da sommeren i år har været fyldt med køkkenhave-fjender. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24", 3, 2101, false, "6vrGogQTGw8", "https://www.youtube.com/watch?v=6vrGogQTGw8", "/downloads/shows/Livet på gården/Season 2024/s2024e102400 - Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24.mp4", false, ~U[2024-10-24 14:00:05Z]] 14:17:54.772 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.773 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-26 14:57:22Z], 3] 14:17:54.774 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vi skal være forældre ❤️\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit)", "0ff73cf9-7d02-4ea5-9730-d86ed9cfd94a", 3, [], 1195, false, "fszG4EUNQSw", "https://www.youtube.com/watch?v=fszG4EUNQSw", 23, "/downloads/shows/Livet på gården/Season 2024/s2024e102600 - Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit).mp4", false, false, false, 1, ~U[2024-10-26 14:57:22Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "Vi skal være forældre ❤️\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit)", 3, 1195, false, "fszG4EUNQSw", "https://www.youtube.com/watch?v=fszG4EUNQSw", "/downloads/shows/Livet på gården/Season 2024/s2024e102600 - Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit).mp4", false, ~U[2024-10-26 14:57:22Z]] 14:17:54.774 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.775 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-31 15:01:02Z], 3] 14:17:54.776 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video fortæller vi mange af dem vi elsker at vi skal være forældre!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26", "a8f6d98e-5e43-47b2-9ae3-b6ace27dbc0e", 3, [], 845, false, "knLNbZN-U8I", "https://www.youtube.com/watch?v=knLNbZN-U8I", 24, "/downloads/shows/Livet på gården/Season 2024/s2024e103100 - Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26.mp4", false, false, false, 1, ~U[2024-10-31 15:01:02Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I denne video fortæller vi mange af dem vi elsker at vi skal være forældre!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26", 3, 845, false, "knLNbZN-U8I", "https://www.youtube.com/watch?v=knLNbZN-U8I", "/downloads/shows/Livet på gården/Season 2024/s2024e103100 - Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26.mp4", false, ~U[2024-10-31 15:01:02Z]] 14:17:54.777 [debug] QUERY OK source="sources" db=0.4ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.777 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-07 15:00:19Z], 3] 14:17:54.780 [debug] QUERY OK source="media_items" db=1.8ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er jeg kommet til at købe nye høns igen, fordi 21 ikke var nok, og Mikkel henter dem med mig. Vores ene gris er blevet døv, og så er der fuld gang i den, i keramik værkstedet med pat-kopper og ovntømning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27", "96e9f4c6-6ae5-4e0d-91de-56abcc46e477", 3, [], 1621, false, "JyiMi5ofXPw", "https://www.youtube.com/watch?v=JyiMi5ofXPw", 25, "/downloads/shows/Livet på gården/Season 2024/s2024e110700 - Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27.mp4", false, false, false, 1, ~U[2024-11-07 15:00:19Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit er jeg kommet til at købe nye høns igen, fordi 21 ikke var nok, og Mikkel henter dem med mig. Vores ene gris er blevet døv, og så er der fuld gang i den, i keramik værkstedet med pat-kopper og ovntømning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27", 3, 1621, false, "JyiMi5ofXPw", "https://www.youtube.com/watch?v=JyiMi5ofXPw", "/downloads/shows/Livet på gården/Season 2024/s2024e110700 - Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27.mp4", false, ~U[2024-11-07 15:00:19Z]] 14:17:54.781 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.781 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-14 15:00:51Z], 3] 14:17:54.782 [debug] QUERY OK source="media_items" db=0.7ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi en kort tur i IKEA, pludseligt og voldsomt bliver en af vores små grise syge og må aflives - det samme få dage efter, og vi kender ikke årsagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Døde grise og kæmpe krise | Livet på gården Ep. 28", "0191fe22-55a3-423a-bc52-517292c44d26", 3, [], 1506, false, "jEs2qt9f4cQ", "https://www.youtube.com/watch?v=jEs2qt9f4cQ", 26, "/downloads/shows/Livet på gården/Season 2024/s2024e111400 - Døde grise og kæmpe krise | Livet på gården Ep. 28.mp4", false, false, false, 1, ~U[2024-11-14 15:00:51Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit er vi en kort tur i IKEA, pludseligt og voldsomt bliver en af vores små grise syge og må aflives - det samme få dage efter, og vi kender ikke årsagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Døde grise og kæmpe krise | Livet på gården Ep. 28", 3, 1506, false, "jEs2qt9f4cQ", "https://www.youtube.com/watch?v=jEs2qt9f4cQ", "/downloads/shows/Livet på gården/Season 2024/s2024e111400 - Døde grise og kæmpe krise | Livet på gården Ep. 28.mp4", false, ~U[2024-11-14 15:00:51Z]] 14:17:54.799 [debug] QUERY OK source="sources" db=0.2ms idle=21.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.802 [debug] QUERY OK source="media_items" db=0.7ms idle=21.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-21 15:00:26Z], 3] 14:17:54.806 [debug] QUERY OK source="media_items" db=0.7ms idle=23.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der en høne som er blevet syg, og er flyttet ind i stuen til Mikkel kommer hjem og må klare sagerne. Hvidløgene skal i jorden inden frosten, og så er der flytter rotter ind på loftet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29", "680f7258-d0e3-41dd-8064-8f48089bc978", 3, [], 1529, false, "RfFqKyedfAE", "https://www.youtube.com/watch?v=RfFqKyedfAE", 27, "/downloads/shows/Livet på gården/Season 2024/s2024e112100 - Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29.mp4", false, false, false, 1, ~U[2024-11-21 15:00:26Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit er der en høne som er blevet syg, og er flyttet ind i stuen til Mikkel kommer hjem og må klare sagerne. Hvidløgene skal i jorden inden frosten, og så er der flytter rotter ind på loftet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29", 3, 1529, false, "RfFqKyedfAE", "https://www.youtube.com/watch?v=RfFqKyedfAE", "/downloads/shows/Livet på gården/Season 2024/s2024e112100 - Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29.mp4", false, ~U[2024-11-21 15:00:26Z]] 14:17:54.806 [debug] QUERY OK source="sources" db=0.1ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.807 [debug] QUERY OK source="media_items" db=0.3ms idle=24.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-28 15:00:36Z], 3] 14:17:54.808 [debug] QUERY OK source="media_items" db=0.7ms idle=8.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der endnu engang ikke held ved grisene. Vores elskede Connie har fået en stor byld og er generelt svag. Rotterne har invarderet gården - og Mikkels tanker, og så begynder vi så småt at gøre os tanker om renoveringen af overetagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30", "f5420ac8-da3e-4745-aaae-9acabfafc858", 3, [], 1708, false, "X73rI43iuD4", "https://www.youtube.com/watch?v=X73rI43iuD4", 28, "/downloads/shows/Livet på gården/Season 2024/s2024e112800 - En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30.mp4", false, false, false, 1, ~U[2024-11-28 15:00:36Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit er der endnu engang ikke held ved grisene. Vores elskede Connie har fået en stor byld og er generelt svag. Rotterne har invarderet gården - og Mikkels tanker, og så begynder vi så småt at gøre os tanker om renoveringen af overetagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30", 3, 1708, false, "X73rI43iuD4", "https://www.youtube.com/watch?v=X73rI43iuD4", "/downloads/shows/Livet på gården/Season 2024/s2024e112800 - En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30.mp4", false, ~U[2024-11-28 15:00:36Z]] 14:17:54.809 [debug] QUERY OK source="sources" db=0.2ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.810 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-02 15:00:53Z], 3] 14:17:54.811 [debug] QUERY OK source="media_items" db=0.6ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores grise stikker af | Livet på gården Ep. 31", "53f987f1-bb33-4f4b-8e18-4af3782de211", 3, [], 1586, false, "mdvG-5UJYRw", "https://www.youtube.com/watch?v=mdvG-5UJYRw", 29, "/downloads/shows/Livet på gården/Season 2025/s2025e010200 - Vores grise stikker af | Livet på gården Ep. 31.mp4", false, false, false, 1, ~U[2025-01-02 15:00:53Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores grise stikker af | Livet på gården Ep. 31", 3, 1586, false, "mdvG-5UJYRw", "https://www.youtube.com/watch?v=mdvG-5UJYRw", "/downloads/shows/Livet på gården/Season 2025/s2025e010200 - Vores grise stikker af | Livet på gården Ep. 31.mp4", false, ~U[2025-01-02 15:00:53Z]] 14:17:54.812 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.813 [debug] QUERY OK source="media_items" db=0.5ms idle=4.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-09 15:01:02Z], 3] 14:17:54.815 [debug] QUERY OK source="media_items" db=0.7ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video er vi til 20 ugers scanning med en sund og rask baby, og finder ud af hvad kønnet er. Vi køber nyt spisebord, får nye æggefarver, opdager en ny hane og så har jeg nesting syndrom.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32", "232d4597-2741-4bf5-b46c-3d9dfedd5557", 3, [], 1189, false, "in68bPvRI18", "https://www.youtube.com/watch?v=in68bPvRI18", 30, "/downloads/shows/Livet på gården/Season 2025/s2025e010900 - Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32.mp4", false, false, false, 1, ~U[2025-01-09 15:01:02Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I denne video er vi til 20 ugers scanning med en sund og rask baby, og finder ud af hvad kønnet er. Vi køber nyt spisebord, får nye æggefarver, opdager en ny hane og så har jeg nesting syndrom.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32", 3, 1189, false, "in68bPvRI18", "https://www.youtube.com/watch?v=in68bPvRI18", "/downloads/shows/Livet på gården/Season 2025/s2025e010900 - Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32.mp4", false, ~U[2025-01-09 15:01:02Z]] 14:17:54.816 [debug] QUERY OK source="sources" db=0.2ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.817 [debug] QUERY OK source="media_items" db=0.3ms idle=5.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-16 15:00:13Z], 3] 14:17:54.818 [debug] QUERY OK source="media_items" db=0.9ms idle=5.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne gang i livet på gården kommer i med i køkkenet. Vinteren er over os, og jeg bruger meget tid indendøre, da dyrene er i ro og naturen er i dvale. Jeg elsker at lave mad, så se med på hvad jeg spiser på en dag, samt en omgang cookie bagning. Opskriften er denne: \n\nOpskrift til ca. 35 cookies\nDu skal bruge:\n240 g blødt smør\n300 g brun farin\n100 g sukker\n2 æg\n420 g hvedemel\n2 tsk bagepulver\n1 tsk natron\n2 tsk salt\n300 g chokolade\n\nPisk smør, sukker og brun farin sammen. Tilsæt æg og pisk med.\n\nTilsæt hvedemel, natron, bagepulver og salt. Pisk sammen.\n\nHak chokolade og vend det i dejen.\n\nTænd ovnen på 200 grader varmluft.\n\nForm kugler af dejen eller brug en isske.\n\nBag i ca. 10 min, til kanterne er gyldne, men midten stadig er “flydende”. Afkøl til de har sat sig. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33", "0547a5e3-9b32-4336-93d7-fa3ec4da3e0d", 3, [], 1320, false, "7eqGNG6x48o", "https://www.youtube.com/watch?v=7eqGNG6x48o", 31, "/downloads/shows/Livet på gården/Season 2025/s2025e011600 - Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33.mp4", false, false, false, 1, ~U[2025-01-16 15:00:13Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "Denne gang i livet på gården kommer i med i køkkenet. Vinteren er over os, og jeg bruger meget tid indendøre, da dyrene er i ro og naturen er i dvale. Jeg elsker at lave mad, så se med på hvad jeg spiser på en dag, samt en omgang cookie bagning. Opskriften er denne: \n\nOpskrift til ca. 35 cookies\nDu skal bruge:\n240 g blødt smør\n300 g brun farin\n100 g sukker\n2 æg\n420 g hvedemel\n2 tsk bagepulver\n1 tsk natron\n2 tsk salt\n300 g chokolade\n\nPisk smør, sukker og brun farin sammen. Tilsæt æg og pisk med.\n\nTilsæt hvedemel, natron, bagepulver og salt. Pisk sammen.\n\nHak chokolade og vend det i dejen.\n\nTænd ovnen på 200 grader varmluft.\n\nForm kugler af dejen eller brug en isske.\n\nBag i ca. 10 min, til kanterne er gyldne, men midten stadig er “flydende”. Afkøl til de har sat sig. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33", 3, 1320, false, "7eqGNG6x48o", "https://www.youtube.com/watch?v=7eqGNG6x48o", "/downloads/shows/Livet på gården/Season 2025/s2025e011600 - Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33.mp4", false, ~U[2025-01-16 15:00:13Z]] 14:17:54.819 [debug] QUERY OK source="sources" db=0.1ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.820 [debug] QUERY OK source="media_items" db=0.3ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-23 15:00:14Z], 3] 14:17:54.822 [debug] QUERY OK source="media_items" db=0.7ms queue=0.5ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode kommer i med når vi forbereder og laver maden nytårsaften, som for os går stille for sig med en baby i maven og dyr der har brug for nærvær. Det nye år starter hårdt ud med strømsvigt i elhegnet, så grisene igen kan stikke af. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34", "b975da51-679a-4c20-80e3-4ac2afdde12a", 3, [], 1554, false, "DHmTZSb2QAg", "https://www.youtube.com/watch?v=DHmTZSb2QAg", 32, "/downloads/shows/Livet på gården/Season 2025/s2025e012300 - Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34.mp4", false, false, false, 1, ~U[2025-01-23 15:00:14Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I denne episode kommer i med når vi forbereder og laver maden nytårsaften, som for os går stille for sig med en baby i maven og dyr der har brug for nærvær. Det nye år starter hårdt ud med strømsvigt i elhegnet, så grisene igen kan stikke af. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34", 3, 1554, false, "DHmTZSb2QAg", "https://www.youtube.com/watch?v=DHmTZSb2QAg", "/downloads/shows/Livet på gården/Season 2025/s2025e012300 - Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34.mp4", false, ~U[2025-01-23 15:00:14Z]] 14:17:54.822 [debug] QUERY OK source="sources" db=0.2ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.823 [debug] QUERY OK source="media_items" db=0.3ms idle=4.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-30 15:00:01Z], 3] 14:17:54.824 [debug] QUERY OK source="media_items" db=0.7ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit bikser vi lynhurtigt en stald op til grisene, dog ikke uden problemer, da stødhegnet driller. Heldigvis kommer de på plads, og får nyt hjem som de er meget glade for. Derudover er vi så småt begyndt at shoppe til baby pigen, og har købt en barnevogn og andre sager. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny grisestald og babyhaul | Livet på gården Ep. 35", "a51cea54-f3fc-4364-b742-3abd2c4f3041", 3, [], 1577, false, "06C0dkPjHIU", "https://www.youtube.com/watch?v=06C0dkPjHIU", 33, "/downloads/shows/Livet på gården/Season 2025/s2025e013000 - Ny grisestald og babyhaul | Livet på gården Ep. 35.mp4", false, false, false, 1, ~U[2025-01-30 15:00:01Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit bikser vi lynhurtigt en stald op til grisene, dog ikke uden problemer, da stødhegnet driller. Heldigvis kommer de på plads, og får nyt hjem som de er meget glade for. Derudover er vi så småt begyndt at shoppe til baby pigen, og har købt en barnevogn og andre sager. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny grisestald og babyhaul | Livet på gården Ep. 35", 3, 1577, false, "06C0dkPjHIU", "https://www.youtube.com/watch?v=06C0dkPjHIU", "/downloads/shows/Livet på gården/Season 2025/s2025e013000 - Ny grisestald og babyhaul | Livet på gården Ep. 35.mp4", false, ~U[2025-01-30 15:00:01Z]] 14:17:54.825 [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" = ?) [3] 14:17:54.825 [debug] QUERY OK source="media_items" db=0.3ms queue=0.2ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-06 15:00:15Z], 3] 14:17:54.827 [debug] QUERY OK source="media_items" db=0.8ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i med i køkkenet en helt almindelig hverdags aften hvor vi har pizza aften. Vi er hverken eksperter eller noget, men vi elsker hygger ved at lave pizza sammen. Rotterne er fortsat på færde og med sit luftgevær går Mikkel på jagt og fanger faktisk 2 rotter. Kæmpe succes!\n\nPizzadej: https://stinna.dk/aftensmad/nem-pizzadej.html\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Pizzaaften og rottefangst | Livet på gården Ep. 36", "5f746733-516e-465b-88fd-21c22c49a411", 3, [], 1119, false, "5VIOEvQa6qs", "https://www.youtube.com/watch?v=5VIOEvQa6qs", 34, "/downloads/shows/Livet på gården/Season 2025/s2025e020600 - Pizzaaften og rottefangst | Livet på gården Ep. 36.mp4", false, false, false, 1, ~U[2025-02-06 15:00:15Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit kommer i med i køkkenet en helt almindelig hverdags aften hvor vi har pizza aften. Vi er hverken eksperter eller noget, men vi elsker hygger ved at lave pizza sammen. Rotterne er fortsat på færde og med sit luftgevær går Mikkel på jagt og fanger faktisk 2 rotter. Kæmpe succes!\n\nPizzadej: https://stinna.dk/aftensmad/nem-pizzadej.html\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Pizzaaften og rottefangst | Livet på gården Ep. 36", 3, 1119, false, "5VIOEvQa6qs", "https://www.youtube.com/watch?v=5VIOEvQa6qs", "/downloads/shows/Livet på gården/Season 2025/s2025e020600 - Pizzaaften og rottefangst | Livet på gården Ep. 36.mp4", false, ~U[2025-02-06 15:00:15Z]] 14:17:54.828 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.828 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-13 15:00:15Z], 3] 14:17:54.830 [debug] QUERY OK source="media_items" db=0.9ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nI denne video kommer i med i løbet af mad-dag. Jeg er gravid i 3. trimester og er mere sulten end nogensinde før. Jeg spiser hvad jeg lyster og nemheden er vigtig for os lige nu da jeg er udfordret i de store indkøb - så derfor får vi måltidskasser fra HelloFresh. Det er nemt, lækkert og virkelig inspirerende. \n\nDu kan lige nu spare op til 1079 kroner på dine 3 første måltidskasser fra HelloFresh og få en gratis dessert med ved hver bestilling de første 3 måneder hvis du er ny kunde - ved brug af min rabatkode KRISTINEFRESH25 eller ved at klikke på linket her: http://www.hellofresh.dk/KRISTINEFRESH25\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37", "700be222-29a2-4308-9452-72a28d03712f", 3, [], 964, false, "C4VNr3_SRjc", "https://www.youtube.com/watch?v=C4VNr3_SRjc", 35, "/downloads/shows/Livet på gården/Season 2025/s2025e021300 - Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37.mp4", false, false, false, 1, ~U[2025-02-13 15:00:15Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "Denne video indeholder reklame for HelloFresh. \n\nI denne video kommer i med i løbet af mad-dag. Jeg er gravid i 3. trimester og er mere sulten end nogensinde før. Jeg spiser hvad jeg lyster og nemheden er vigtig for os lige nu da jeg er udfordret i de store indkøb - så derfor får vi måltidskasser fra HelloFresh. Det er nemt, lækkert og virkelig inspirerende. \n\nDu kan lige nu spare op til 1079 kroner på dine 3 første måltidskasser fra HelloFresh og få en gratis dessert med ved hver bestilling de første 3 måneder hvis du er ny kunde - ved brug af min rabatkode KRISTINEFRESH25 eller ved at klikke på linket her: http://www.hellofresh.dk/KRISTINEFRESH25\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37", 3, 964, false, "C4VNr3_SRjc", "https://www.youtube.com/watch?v=C4VNr3_SRjc", "/downloads/shows/Livet på gården/Season 2025/s2025e021300 - Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37.mp4", false, ~U[2025-02-13 15:00:15Z]] 14:17:54.830 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.831 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-20 15:01:25Z], 3] 14:17:54.833 [debug] QUERY OK source="media_items" db=0.7ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode er der igen igen gang i rotterne, og vi beslutter os for at rydde hønsehus for sager og flytte æggestationen. Willy har haft en byld der er sprunget, og må akut til dyrelægen - og så giver jeg en update på hvordan det går både med mig og graviditeten.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En skæv kat og en graviditetsupdate | Livet på gården Ep. 38", "c0acf47b-15eb-4f40-852e-a93404cde931", 3, [], 1364, false, "y7cv58JT-FI", "https://www.youtube.com/watch?v=y7cv58JT-FI", 36, "/downloads/shows/Livet på gården/Season 2025/s2025e022000 - En skæv kat og en graviditetsupdate | Livet på gården Ep. 38.mp4", false, false, false, 1, ~U[2025-02-20 15:01:25Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I denne episode er der igen igen gang i rotterne, og vi beslutter os for at rydde hønsehus for sager og flytte æggestationen. Willy har haft en byld der er sprunget, og må akut til dyrelægen - og så giver jeg en update på hvordan det går både med mig og graviditeten.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En skæv kat og en graviditetsupdate | Livet på gården Ep. 38", 3, 1364, false, "y7cv58JT-FI", "https://www.youtube.com/watch?v=y7cv58JT-FI", "/downloads/shows/Livet på gården/Season 2025/s2025e022000 - En skæv kat og en graviditetsupdate | Livet på gården Ep. 38.mp4", false, ~U[2025-02-20 15:01:25Z]] 14:17:54.833 [debug] QUERY OK source="sources" db=0.3ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.834 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-06 15:01:06Z], 3] 14:17:54.852 [debug] QUERY OK source="media_items" db=16.9ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården handler jeg ind til ugens madplan og så bruger vi en helt fantastisk og rolig dag udenfor. Mikkel får ordnet brænde og vi forbereder os så småt på foråret - for inden vi aner det holder Mikkel fri, for at nå så meget renovering af overetagen som muligt inden baby kommer.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indkøbshaul og forår i luften | Livet på gården Ep. 39", "aabae3af-ee6c-479f-b200-241409542184", 3, [], 1194, false, "lZWB5QR4wPQ", "https://www.youtube.com/watch?v=lZWB5QR4wPQ", 37, "/downloads/shows/Livet på gården/Season 2025/s2025e030600 - Indkøbshaul og forår i luften | Livet på gården Ep. 39.mp4", false, false, false, 1, ~U[2025-03-06 15:01:06Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit af livet på gården handler jeg ind til ugens madplan og så bruger vi en helt fantastisk og rolig dag udenfor. Mikkel får ordnet brænde og vi forbereder os så småt på foråret - for inden vi aner det holder Mikkel fri, for at nå så meget renovering af overetagen som muligt inden baby kommer.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indkøbshaul og forår i luften | Livet på gården Ep. 39", 3, 1194, false, "lZWB5QR4wPQ", "https://www.youtube.com/watch?v=lZWB5QR4wPQ", "/downloads/shows/Livet på gården/Season 2025/s2025e030600 - Indkøbshaul og forår i luften | Livet på gården Ep. 39.mp4", false, ~U[2025-03-06 15:01:06Z]] 14:17:54.855 [debug] QUERY OK source="sources" db=0.4ms queue=0.6ms idle=22.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.856 [debug] QUERY OK source="media_items" db=0.5ms idle=22.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-13 15:00:23Z], 3] 14:17:54.861 [debug] QUERY OK source="media_items" db=4.6ms idle=22.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården tager jeg jer med ind i en tankestrøm på en af de svære dage. Hønsedamerne er endeligt begyndt at lægge æg, så det giver mening og så er mine forældre på besøg, og der sker som altid en masse. Jeg får endelig en fryser indenfor og så sætter min far og Mikkel en midlertidig trappe op, så vi så småt kan begynde på overetagen!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En træt krop og en trappe til overetagen | Livet på gården Ep. 40", "49ead6a0-21c8-417b-94d7-f75d0effab0b", 3, [], 1167, false, "Ok2_GV07ZBQ", "https://www.youtube.com/watch?v=Ok2_GV07ZBQ", 38, "/downloads/shows/Livet på gården/Season 2025/s2025e031300 - En træt krop og en trappe til overetagen | Livet på gården Ep. 40.mp4", false, false, false, 1, ~U[2025-03-13 15:00:23Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit af livet på gården tager jeg jer med ind i en tankestrøm på en af de svære dage. Hønsedamerne er endeligt begyndt at lægge æg, så det giver mening og så er mine forældre på besøg, og der sker som altid en masse. Jeg får endelig en fryser indenfor og så sætter min far og Mikkel en midlertidig trappe op, så vi så småt kan begynde på overetagen!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En træt krop og en trappe til overetagen | Livet på gården Ep. 40", 3, 1167, false, "Ok2_GV07ZBQ", "https://www.youtube.com/watch?v=Ok2_GV07ZBQ", "/downloads/shows/Livet på gården/Season 2025/s2025e031300 - En træt krop og en trappe til overetagen | Livet på gården Ep. 40.mp4", false, ~U[2025-03-13 15:00:23Z]] 14:17:54.862 [debug] QUERY OK source="sources" db=0.2ms idle=27.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.862 [debug] QUERY OK source="media_items" db=0.3ms idle=9.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-08 14:00:48Z], 3] 14:17:54.864 [debug] QUERY OK source="media_items" db=0.8ms idle=7.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Der er sket meget siden sidst - jeg har født! Men inden da filmede jeg en masse gode sager, som jeg ikke synes i skal gå glip af. Blandt andet at vi er ramt af nesting syndrom og pludselig må have nye møbler og gardiner - og udenfor er Mikkel som altid i fuld gang - med bål og klargøring af drivhus. Pænt sidder jeg meget tyk og træt og kigger på imens. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En baby og nesting mode | Livet på gården Ep. 41", "865bcb7e-0d54-43f3-a9cb-f40de7caff57", 3, [], 1161, false, "_dr97qz8fXE", "https://www.youtube.com/watch?v=_dr97qz8fXE", 39, "/downloads/shows/Livet på gården/Season 2025/s2025e050800 - En baby og nesting mode | Livet på gården Ep. 41.mp4", false, false, false, 1, ~U[2025-05-08 14:00:48Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "Der er sket meget siden sidst - jeg har født! Men inden da filmede jeg en masse gode sager, som jeg ikke synes i skal gå glip af. Blandt andet at vi er ramt af nesting syndrom og pludselig må have nye møbler og gardiner - og udenfor er Mikkel som altid i fuld gang - med bål og klargøring af drivhus. Pænt sidder jeg meget tyk og træt og kigger på imens. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En baby og nesting mode | Livet på gården Ep. 41", 3, 1161, false, "_dr97qz8fXE", "https://www.youtube.com/watch?v=_dr97qz8fXE", "/downloads/shows/Livet på gården/Season 2025/s2025e050800 - En baby og nesting mode | Livet på gården Ep. 41.mp4", false, ~U[2025-05-08 14:00:48Z]] 14:17:54.865 [debug] QUERY OK source="sources" db=0.2ms idle=9.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.866 [debug] QUERY OK source="media_items" db=0.3ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-15 14:00:49Z], 3] 14:17:54.867 [debug] QUERY OK source="media_items" db=0.7ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit handler det om knækbrød og køkkentid og rotter. Og så tager jeg en snak om grisene og hønsene, jeg er nemlig kommet i tvivl om det giver mening økonomisk at have grise som alligevel ikke bliver slagteklar forløbig. Hønsene vender vi også. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Knækbrød og en snak om økonomien | Livet på gården Ep. 42", "3a0a838c-6442-419d-8c0f-ebd4198402f4", 3, [], 1565, false, "XyfY9KQlii8", "https://www.youtube.com/watch?v=XyfY9KQlii8", 40, "/downloads/shows/Livet på gården/Season 2025/s2025e051500 - Knækbrød og en snak om økonomien | Livet på gården Ep. 42.mp4", false, false, false, 1, ~U[2025-05-15 14:00:49Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit handler det om knækbrød og køkkentid og rotter. Og så tager jeg en snak om grisene og hønsene, jeg er nemlig kommet i tvivl om det giver mening økonomisk at have grise som alligevel ikke bliver slagteklar forløbig. Hønsene vender vi også. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Knækbrød og en snak om økonomien | Livet på gården Ep. 42", 3, 1565, false, "XyfY9KQlii8", "https://www.youtube.com/watch?v=XyfY9KQlii8", "/downloads/shows/Livet på gården/Season 2025/s2025e051500 - Knækbrød og en snak om økonomien | Livet på gården Ep. 42.mp4", false, ~U[2025-05-15 14:00:49Z]] 14:17:54.868 [debug] QUERY OK source="sources" db=0.2ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.869 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-22 14:00:14Z], 3] 14:17:54.872 [debug] QUERY OK source="media_items" db=2.2ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der indkøbshaul, som synger på sidste vers inden jeg skal føde, da det simpelthen er for hårdt for mig at handle selv. Jeg forbereder mad til fryseren så der er godt mad til efter fødslen, og så har vi taget en stor beslutning om at pille taget af liiige kvart i termin og det sætter mine nerver på spidsen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43", "923c51f3-095a-4d99-8f90-7ca8ee668461", 3, [], 1220, false, "4lsBpblT134", "https://www.youtube.com/watch?v=4lsBpblT134", 41, "/downloads/shows/Livet på gården/Season 2025/s2025e052200 - En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43.mp4", false, false, false, 1, ~U[2025-05-22 14:00:14Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit er der indkøbshaul, som synger på sidste vers inden jeg skal føde, da det simpelthen er for hårdt for mig at handle selv. Jeg forbereder mad til fryseren så der er godt mad til efter fødslen, og så har vi taget en stor beslutning om at pille taget af liiige kvart i termin og det sætter mine nerver på spidsen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43", 3, 1220, false, "4lsBpblT134", "https://www.youtube.com/watch?v=4lsBpblT134", "/downloads/shows/Livet på gården/Season 2025/s2025e052200 - En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43.mp4", false, ~U[2025-05-22 14:00:14Z]] 14:17:54.873 [debug] QUERY OK source="sources" db=0.2ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.873 [debug] QUERY OK source="media_items" db=0.3ms idle=5.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-29 14:00:35Z], 3] 14:17:54.875 [debug] QUERY OK source="media_items" db=0.7ms idle=5.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er jeg for alvor ved at være udfordret af min graviditet, jeg er kæmpe stor med meget væske i kroppen, alt imens at Mikkel knokler i døgndrift på at lave nyt tag. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Højgravid og et hus uden tag | Livet på gården Ep. 44", "f95737b2-23b0-47bd-8f95-b6787d55291a", 3, [], 1273, false, "LwViuowDYFk", "https://www.youtube.com/watch?v=LwViuowDYFk", 42, "/downloads/shows/Livet på gården/Season 2025/s2025e052900 - Højgravid og et hus uden tag | Livet på gården Ep. 44.mp4", false, false, false, 1, ~U[2025-05-29 14:00:35Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit er jeg for alvor ved at være udfordret af min graviditet, jeg er kæmpe stor med meget væske i kroppen, alt imens at Mikkel knokler i døgndrift på at lave nyt tag. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Højgravid og et hus uden tag | Livet på gården Ep. 44", 3, 1273, false, "LwViuowDYFk", "https://www.youtube.com/watch?v=LwViuowDYFk", "/downloads/shows/Livet på gården/Season 2025/s2025e052900 - Højgravid og et hus uden tag | Livet på gården Ep. 44.mp4", false, ~U[2025-05-29 14:00:35Z]] 14:17:54.875 [debug] QUERY OK source="sources" db=0.2ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.877 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-05 14:00:41Z], 3] 14:17:54.878 [debug] QUERY OK source="media_items" db=0.8ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager det hele pludselig en drejning da vi en dag er ved jordemoder og mit blodtryk er alt for højt. Efter tjek kommer vi hjem og når lige at rykke grisenes indhegning, før det desværre bliver nødvendigt at indlægge mig grundet svangerskabsforgiftning og diabetes. Og pludselig ser vi ind i en igangsættelse frem for en naturlig start på fødslen.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45", "b0eaa3cd-f0d0-4d47-9dce-76a570f0b5de", 3, [], 1394, false, "QVFwXhDMin4", "https://www.youtube.com/watch?v=QVFwXhDMin4", 43, "/downloads/shows/Livet på gården/Season 2025/s2025e060500 - Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45.mp4", false, false, false, 1, ~U[2025-06-05 14:00:41Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit tager det hele pludselig en drejning da vi en dag er ved jordemoder og mit blodtryk er alt for højt. Efter tjek kommer vi hjem og når lige at rykke grisenes indhegning, før det desværre bliver nødvendigt at indlægge mig grundet svangerskabsforgiftning og diabetes. Og pludselig ser vi ind i en igangsættelse frem for en naturlig start på fødslen.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45", 3, 1394, false, "QVFwXhDMin4", "https://www.youtube.com/watch?v=QVFwXhDMin4", "/downloads/shows/Livet på gården/Season 2025/s2025e060500 - Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45.mp4", false, ~U[2025-06-05 14:00:41Z]] 14:17:54.879 [debug] QUERY OK source="sources" db=0.2ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.880 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-12 14:00:00Z], 3] 14:17:54.881 [debug] QUERY OK source="media_items" db=0.6ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit bliver 2 endelig til 3 når vi bliver forældre til den fineste lille pige. Vi kommer hjem i god behold, jeg er stadig noget medtaget efter en hård fødsel.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Når 2 bliver til 3 | Livet på gården Ep. 46", "6e3186b2-5369-4be8-9607-85c624602a25", 3, [], 1290, false, "-rvS4KsyD-8", "https://www.youtube.com/watch?v=-rvS4KsyD-8", 44, "/downloads/shows/Livet på gården/Season 2025/s2025e061200 - Når 2 bliver til 3 | Livet på gården Ep. 46.mp4", false, false, false, 1, ~U[2025-06-12 14:00:00Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit bliver 2 endelig til 3 når vi bliver forældre til den fineste lille pige. Vi kommer hjem i god behold, jeg er stadig noget medtaget efter en hård fødsel.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Når 2 bliver til 3 | Livet på gården Ep. 46", 3, 1290, false, "-rvS4KsyD-8", "https://www.youtube.com/watch?v=-rvS4KsyD-8", "/downloads/shows/Livet på gården/Season 2025/s2025e061200 - Når 2 bliver til 3 | Livet på gården Ep. 46.mp4", false, ~U[2025-06-12 14:00:00Z]] 14:17:54.882 [debug] QUERY OK source="sources" db=0.3ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.883 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-19 14:00:28Z], 3] 14:17:54.888 [debug] QUERY OK source="media_items" db=4.8ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi for alvor faldet på plads derhjemme igen efter en hård omgang og tilvænning efter fødslen. Vi er begge 2 på barsel og nyder det - nogle mere end andre. Som altid har Mikkel gang i alt muligt og kan ikke sidde stille. Hønsene skrukker og køkkenhaven er kaos - så alt er som det plejer på denne tid af året. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Barselsbobbel og køkkenhave | Livet på gården Ep. 47", "06b70dd3-99d3-406c-83ee-605270778d90", 3, [], 1248, false, "L8u8ZcjpR6A", "https://www.youtube.com/watch?v=L8u8ZcjpR6A", 45, "/downloads/shows/Livet på gården/Season 2025/s2025e061900 - Barselsbobbel og køkkenhave | Livet på gården Ep. 47.mp4", false, false, false, 1, ~U[2025-06-19 14:00:28Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit er vi for alvor faldet på plads derhjemme igen efter en hård omgang og tilvænning efter fødslen. Vi er begge 2 på barsel og nyder det - nogle mere end andre. Som altid har Mikkel gang i alt muligt og kan ikke sidde stille. Hønsene skrukker og køkkenhaven er kaos - så alt er som det plejer på denne tid af året. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Barselsbobbel og køkkenhave | Livet på gården Ep. 47", 3, 1248, false, "L8u8ZcjpR6A", "https://www.youtube.com/watch?v=L8u8ZcjpR6A", "/downloads/shows/Livet på gården/Season 2025/s2025e061900 - Barselsbobbel og køkkenhave | Livet på gården Ep. 47.mp4", false, ~U[2025-06-19 14:00:28Z]] 14:17:54.889 [debug] QUERY OK source="sources" db=0.2ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.890 [debug] QUERY OK source="media_items" db=0.3ms idle=8.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-26 14:00:46Z], 3] 14:17:54.892 [debug] QUERY OK source="media_items" db=0.8ms idle=8.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for Segway Navimow | I dette afsnit er vi kommet i haven, fordi vi har fået intet mindre end en enormt fancy robotplæneklipper - og selvom Mikkel er meget glad for sin havetraktor, så er han altså ikke til at styre. \n\nLæs mere om plæneklipperen her: http://bit.ly/4lwNXrf\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny plæneklipper og en glad mand | Livet på gården Ep. 48", "566c20ca-ffb5-4faa-8c5d-7e613a993e3e", 3, [], 885, false, "W_VQNTe2uV0", "https://www.youtube.com/watch?v=W_VQNTe2uV0", 46, "/downloads/shows/Livet på gården/Season 2025/s2025e062600 - Ny plæneklipper og en glad mand | Livet på gården Ep. 48.mp4", false, false, false, 1, ~U[2025-06-26 14:00:46Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "Denne video indeholder reklame for Segway Navimow | I dette afsnit er vi kommet i haven, fordi vi har fået intet mindre end en enormt fancy robotplæneklipper - og selvom Mikkel er meget glad for sin havetraktor, så er han altså ikke til at styre. \n\nLæs mere om plæneklipperen her: http://bit.ly/4lwNXrf\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny plæneklipper og en glad mand | Livet på gården Ep. 48", 3, 885, false, "W_VQNTe2uV0", "https://www.youtube.com/watch?v=W_VQNTe2uV0", "/downloads/shows/Livet på gården/Season 2025/s2025e062600 - Ny plæneklipper og en glad mand | Livet på gården Ep. 48.mp4", false, ~U[2025-06-26 14:00:46Z]] 14:17:54.893 [debug] QUERY OK source="sources" db=0.2ms idle=10.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.893 [debug] QUERY OK source="media_items" db=0.3ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-03 14:00:38Z], 3] 14:17:54.895 [debug] QUERY OK source="media_items" db=0.7ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er det endelig blevet maj og tid til at sætte tomater i drivhuset. I år er de købt, men de får samme start som mine tomater altid gør. Jeg kommer med mine bedste tips og tricks. Og så tager vi en snak om byggeriet og alle vores sommer planer. Mikkel får travlt, som altid. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tomater og byggemøde | Livet på gården Ep. 49", "a0a4a4d0-9792-4ebf-89f2-8c0841e1143e", 3, [], 1455, false, "LOW7BsM3muw", "https://www.youtube.com/watch?v=LOW7BsM3muw", 47, "/downloads/shows/Livet på gården/Season 2025/s2025e070300 - Tomater og byggemøde | Livet på gården Ep. 49.mp4", false, false, false, 1, ~U[2025-07-03 14:00:38Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit er det endelig blevet maj og tid til at sætte tomater i drivhuset. I år er de købt, men de får samme start som mine tomater altid gør. Jeg kommer med mine bedste tips og tricks. Og så tager vi en snak om byggeriet og alle vores sommer planer. Mikkel får travlt, som altid. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tomater og byggemøde | Livet på gården Ep. 49", 3, 1455, false, "LOW7BsM3muw", "https://www.youtube.com/watch?v=LOW7BsM3muw", "/downloads/shows/Livet på gården/Season 2025/s2025e070300 - Tomater og byggemøde | Livet på gården Ep. 49.mp4", false, ~U[2025-07-03 14:00:38Z]] 14:17:54.895 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.896 [debug] QUERY OK source="media_items" db=0.3ms idle=4.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-10 14:01:07Z], 3] 14:17:54.897 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har jeg tømt keramikovnen for første gang længe, jeg er i haven for første gang længe og er så småt ved at komme tilbage til mit før. Men fødslen har sat sine spor og det tager jeg en snak om i dette afsnit. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50", "d200af41-0b8a-4915-81f5-a915a21829d4", 3, [], 1048, false, "eRwqESemLz0", "https://www.youtube.com/watch?v=eRwqESemLz0", 48, "/downloads/shows/Livet på gården/Season 2025/s2025e071000 - Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50.mp4", false, false, false, 1, ~U[2025-07-10 14:01:07Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit har jeg tømt keramikovnen for første gang længe, jeg er i haven for første gang længe og er så småt ved at komme tilbage til mit før. Men fødslen har sat sine spor og det tager jeg en snak om i dette afsnit. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50", 3, 1048, false, "eRwqESemLz0", "https://www.youtube.com/watch?v=eRwqESemLz0", "/downloads/shows/Livet på gården/Season 2025/s2025e071000 - Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50.mp4", false, ~U[2025-07-10 14:01:07Z]] 14:17:54.898 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.898 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-17 14:00:37Z], 3] 14:17:54.900 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit sker der en hulens masse sjove sager. Mikkel er i fuld gang med at lave vejen om og bygge det nye hegn. Vores datter er med i haven i bæreselen og jeg høster rabarberen. Og så er der dømt nyt udstyr og et haul af alt det gejl vi har fået hjem!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores datter er med i haven | Livet på gården Ep. 51", "7eb6df01-dcc1-472b-90da-129705080801", 3, [], 1223, false, "N_QTztIN_uE", "https://www.youtube.com/watch?v=N_QTztIN_uE", 49, "/downloads/shows/Livet på gården/Season 2025/s2025e071700 - Vores datter er med i haven | Livet på gården Ep. 51.mp4", false, false, false, 1, ~U[2025-07-17 14:00:37Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit sker der en hulens masse sjove sager. Mikkel er i fuld gang med at lave vejen om og bygge det nye hegn. Vores datter er med i haven i bæreselen og jeg høster rabarberen. Og så er der dømt nyt udstyr og et haul af alt det gejl vi har fået hjem!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores datter er med i haven | Livet på gården Ep. 51", 3, 1223, false, "N_QTztIN_uE", "https://www.youtube.com/watch?v=N_QTztIN_uE", "/downloads/shows/Livet på gården/Season 2025/s2025e071700 - Vores datter er med i haven | Livet på gården Ep. 51.mp4", false, ~U[2025-07-17 14:00:37Z]] 14:17:54.900 [debug] QUERY OK source="sources" db=0.1ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.901 [debug] QUERY OK source="media_items" db=0.3ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 14:00:17Z], 3] 14:17:54.902 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har vi en baby som er udfordret af tigerspring og dermed en træt mor. Mikkel knokler løs på taget fra morgen til aften og så sætter han lidt ord på hvad det er han har lavet, denne gang med en mikrofon - så man bedre kan høre ham, haha!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nyt tag på 3 dage | Livet på gården Ep. 52", "7551e7c0-ea5b-482f-bb2b-f88039eeded5", 3, [], 1213, false, "8KBS6AxLEhs", "https://www.youtube.com/watch?v=8KBS6AxLEhs", 50, "/downloads/shows/Livet på gården/Season 2025/s2025e081400 - Nyt tag på 3 dage | Livet på gården Ep. 52.mp4", false, false, false, 1, ~U[2025-08-14 14:00:17Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I denne video har vi en baby som er udfordret af tigerspring og dermed en træt mor. Mikkel knokler løs på taget fra morgen til aften og så sætter han lidt ord på hvad det er han har lavet, denne gang med en mikrofon - så man bedre kan høre ham, haha!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nyt tag på 3 dage | Livet på gården Ep. 52", 3, 1213, false, "8KBS6AxLEhs", "https://www.youtube.com/watch?v=8KBS6AxLEhs", "/downloads/shows/Livet på gården/Season 2025/s2025e081400 - Nyt tag på 3 dage | Livet på gården Ep. 52.mp4", false, ~U[2025-08-14 14:00:17Z]] 14:17:54.903 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.903 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-21 14:01:25Z], 3] 14:17:54.905 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har Mikkel gang i bekæmpelsen af ukrudt, mens jeg giver mig i kast med loppehelvede i hønsehuset, som er INVARDERET! Det får den helt store tur og så er det bare at håbe at det er nok, for ellers skal jeg have anskaffet mig exholt og det er en dyr affære.. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53", "9b12088d-968a-4036-94b6-fa5c91d634bf", 3, [], 1195, false, "xTCNmkJl7cs", "https://www.youtube.com/watch?v=xTCNmkJl7cs", 51, "/downloads/shows/Livet på gården/Season 2025/s2025e082100 - Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53.mp4", false, false, false, 1, ~U[2025-08-21 14:01:25Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit har Mikkel gang i bekæmpelsen af ukrudt, mens jeg giver mig i kast med loppehelvede i hønsehuset, som er INVARDERET! Det får den helt store tur og så er det bare at håbe at det er nok, for ellers skal jeg have anskaffet mig exholt og det er en dyr affære.. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53", 3, 1195, false, "xTCNmkJl7cs", "https://www.youtube.com/watch?v=xTCNmkJl7cs", "/downloads/shows/Livet på gården/Season 2025/s2025e082100 - Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53.mp4", false, ~U[2025-08-21 14:01:25Z]] 14:17:54.905 [debug] QUERY OK source="sources" db=0.1ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.906 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-28 14:00:46Z], 3] 14:17:54.907 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mikkel arbejder videre på taget og så tager vi en status på hønsehuset efter udrensning. Hønsene skrukker på stribe og der er semi krise over det. Malene kommer på besøg og får den store tour af køkkenhaven, vi laver mad sammen og tager en snak om hvorfor hun ikke længere arbejder hos mig.. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg af Malene og høns der skrukker | Livet på gården Ep. 54", "8f014968-d6fc-4b82-ad03-68af29aa3ebe", 3, [], 1652, false, "U_w3PIAVp40", "https://www.youtube.com/watch?v=U_w3PIAVp40", 52, "/downloads/shows/Livet på gården/Season 2025/s2025e082800 - Besøg af Malene og høns der skrukker | Livet på gården Ep. 54.mp4", false, false, false, 1, ~U[2025-08-28 14:00:46Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "Mikkel arbejder videre på taget og så tager vi en status på hønsehuset efter udrensning. Hønsene skrukker på stribe og der er semi krise over det. Malene kommer på besøg og får den store tour af køkkenhaven, vi laver mad sammen og tager en snak om hvorfor hun ikke længere arbejder hos mig.. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg af Malene og høns der skrukker | Livet på gården Ep. 54", 3, 1652, false, "U_w3PIAVp40", "https://www.youtube.com/watch?v=U_w3PIAVp40", "/downloads/shows/Livet på gården/Season 2025/s2025e082800 - Besøg af Malene og høns der skrukker | Livet på gården Ep. 54.mp4", false, ~U[2025-08-28 14:00:46Z]] 14:17:54.908 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.908 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-07 14:01:23Z], 3] 14:17:54.910 [debug] QUERY OK source="media_items" db=0.6ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nDu kan få 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder.\nRabatkode: B2SKRISTINE\nLink: www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52", "14d2df8a-f206-4eaf-8e0c-4ebc8ea549a9", 3, [], 1265, false, "oJHte_vjoV4", "https://www.youtube.com/watch?v=oJHte_vjoV4", 53, "/downloads/shows/Livet på gården/Season 2025/s2025e080700 - Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52.mp4", false, false, false, 1, ~U[2025-08-07 14:01:23Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "Denne video indeholder reklame for HelloFresh. \n\nDu kan få 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder.\nRabatkode: B2SKRISTINE\nLink: www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52", 3, 1265, false, "oJHte_vjoV4", "https://www.youtube.com/watch?v=oJHte_vjoV4", "/downloads/shows/Livet på gården/Season 2025/s2025e080700 - Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52.mp4", false, ~U[2025-08-07 14:01:23Z]] 14:17:54.910 [debug] QUERY OK source="sources" db=0.1ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.911 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-04 14:01:08Z], 3] 14:17:54.912 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i for første gang med op på overetagen og ser med når Mikkel bygger den anden kvist - det er også første gang jeg er deroppe, og jeg er mildest talt oppe at ringe over hvor fedt det bliver. Felix er på besøg og med i værkstedet og så har vi taget store beslutninger om fremtiden på gården. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix laver keramik og vores store beslutning | Livet på gården Ep. 55", "5d61c426-b27a-4c57-a6ff-635398cd4178", 3, [], 1396, false, "gbe1EwOyOKY", "https://www.youtube.com/watch?v=gbe1EwOyOKY", 54, "/downloads/shows/Livet på gården/Season 2025/s2025e090400 - Felix laver keramik og vores store beslutning | Livet på gården Ep. 55.mp4", false, false, false, 1, ~U[2025-09-04 14:01:08Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit kommer i for første gang med op på overetagen og ser med når Mikkel bygger den anden kvist - det er også første gang jeg er deroppe, og jeg er mildest talt oppe at ringe over hvor fedt det bliver. Felix er på besøg og med i værkstedet og så har vi taget store beslutninger om fremtiden på gården. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix laver keramik og vores store beslutning | Livet på gården Ep. 55", 3, 1396, false, "gbe1EwOyOKY", "https://www.youtube.com/watch?v=gbe1EwOyOKY", "/downloads/shows/Livet på gården/Season 2025/s2025e090400 - Felix laver keramik og vores store beslutning | Livet på gården Ep. 55.mp4", false, ~U[2025-09-04 14:01:08Z]] 14:17:54.913 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.913 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-11 14:00:02Z], 3] 14:17:54.914 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56", "ffefd795-942e-4822-8684-d51d60ca8290", 3, [], 1421, false, "aPr93nvV6Sc", "https://www.youtube.com/watch?v=aPr93nvV6Sc", 55, "/downloads/shows/Livet på gården/Season 2025/s2025e091100 - Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56.mp4", false, false, false, 1, ~U[2025-09-11 14:00:02Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56", 3, 1421, false, "aPr93nvV6Sc", "https://www.youtube.com/watch?v=aPr93nvV6Sc", "/downloads/shows/Livet på gården/Season 2025/s2025e091100 - Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56.mp4", false, ~U[2025-09-11 14:00:02Z]] 14:17:54.915 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.916 [debug] QUERY OK source="media_items" db=0.6ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-18 14:06:34Z], 3] 14:17:54.917 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57", "452244e4-e5a4-47e3-9c63-438c9897a130", 3, [], 1020, false, "lLuYcnLpHk8", "https://www.youtube.com/watch?v=lLuYcnLpHk8", 56, "/downloads/shows/Livet på gården/Season 2025/s2025e091800 - Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57.mp4", false, false, false, 1, ~U[2025-09-18 14:06:34Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57", 3, 1020, false, "lLuYcnLpHk8", "https://www.youtube.com/watch?v=lLuYcnLpHk8", "/downloads/shows/Livet på gården/Season 2025/s2025e091800 - Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57.mp4", false, ~U[2025-09-18 14:06:34Z]] 14:17:54.918 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.918 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-25 14:01:33Z], 3] 14:17:54.920 [debug] QUERY OK source="media_items" db=1.0ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\nI dagens afsnit er vi i fuld gang. Jeg giver en status fra keramikken, jeg hjælper til når Mikkel sætter sig for at rive kradt og så forsøger vi os med en timelapse for første gang. Vi giver også en status på hvordan det går i hønsegården efter vi har skåret gevaldigt ned for antallet. Alt sammen i mens vores datter er i tigerspring og meget lidt vil sove.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58", "0d4de522-c3f6-4010-b7d9-3683fe5963ca", 3, [], 1485, false, "rFwrB9Pe4hM", "https://www.youtube.com/watch?v=rFwrB9Pe4hM", 57, "/downloads/shows/Livet på gården/Season 2025/s2025e092500 - Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58.mp4", false, false, false, 1, ~U[2025-09-25 14:01:33Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\nI dagens afsnit er vi i fuld gang. Jeg giver en status fra keramikken, jeg hjælper til når Mikkel sætter sig for at rive kradt og så forsøger vi os med en timelapse for første gang. Vi giver også en status på hvordan det går i hønsegården efter vi har skåret gevaldigt ned for antallet. Alt sammen i mens vores datter er i tigerspring og meget lidt vil sove.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58", 3, 1485, false, "rFwrB9Pe4hM", "https://www.youtube.com/watch?v=rFwrB9Pe4hM", "/downloads/shows/Livet på gården/Season 2025/s2025e092500 - Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58.mp4", false, ~U[2025-09-25 14:01:33Z]] 14:17:54.921 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.921 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-02 14:01:32Z], 3] 14:17:54.923 [debug] QUERY OK source="media_items" db=0.8ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager Mikkel mig med i hans store planer om både ny gårdsplads og fliselægning. Han fortsætter det sidste arbejde på kvisten og jeg trækker i arbejdstøjet og hjælper til med både byggeaffald og trimning af haven - samtidig med at vores baby fortsat sover skidt. Grisene flytter hjemmefra og jeg får sagt ordenligt farvel. Det er meget vemodigt, men også for det bedste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59", "61ceab28-8349-4e9c-9e49-30e17cfb9df3", 3, [], 1641, false, "uEP1rtTb-XE", "https://www.youtube.com/watch?v=uEP1rtTb-XE", 58, "/downloads/shows/Livet på gården/Season 2025/s2025e100200 - Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59.mp4", false, false, false, 1, ~U[2025-10-02 14:01:32Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit tager Mikkel mig med i hans store planer om både ny gårdsplads og fliselægning. Han fortsætter det sidste arbejde på kvisten og jeg trækker i arbejdstøjet og hjælper til med både byggeaffald og trimning af haven - samtidig med at vores baby fortsat sover skidt. Grisene flytter hjemmefra og jeg får sagt ordenligt farvel. Det er meget vemodigt, men også for det bedste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59", 3, 1641, false, "uEP1rtTb-XE", "https://www.youtube.com/watch?v=uEP1rtTb-XE", "/downloads/shows/Livet på gården/Season 2025/s2025e100200 - Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59.mp4", false, ~U[2025-10-02 14:01:32Z]] 14:17:54.923 [debug] QUERY OK source="sources" db=0.2ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.924 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-09 14:01:15Z], 3] 14:17:54.925 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kører vi på ferie i en bil der aldrig har været meget fyldt og vi har endda fået ny stor bil. Jeg døjer med hæmorider og så tager vi en klassisk tur rundt med Mikkel der fortæller om alle de ting han synes der skal fikses. Vi starter dog med at rykke et gammelt hønsehus og flytte vores ATV som er gået i stykker. Vi er også en tur i vores kaos af en have, hvor det eneste der fungere er én squash plante, som til gengæld også levere GIGANTISKE squash. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60", "a4cf5d53-154a-4218-9d61-ff512095094d", 3, [], 1534, false, "mCkvhf9YDCk", "https://www.youtube.com/watch?v=mCkvhf9YDCk", 59, "/downloads/shows/Livet på gården/Season 2025/s2025e100900 - Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60.mp4", false, false, false, 1, ~U[2025-10-09 14:01:15Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit kører vi på ferie i en bil der aldrig har været meget fyldt og vi har endda fået ny stor bil. Jeg døjer med hæmorider og så tager vi en klassisk tur rundt med Mikkel der fortæller om alle de ting han synes der skal fikses. Vi starter dog med at rykke et gammelt hønsehus og flytte vores ATV som er gået i stykker. Vi er også en tur i vores kaos af en have, hvor det eneste der fungere er én squash plante, som til gengæld også levere GIGANTISKE squash. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60", 3, 1534, false, "mCkvhf9YDCk", "https://www.youtube.com/watch?v=mCkvhf9YDCk", "/downloads/shows/Livet på gården/Season 2025/s2025e100900 - Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60.mp4", false, ~U[2025-10-09 14:01:15Z]] 14:17:54.926 [debug] QUERY OK source="sources" db=0.1ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.926 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-16 14:00:35Z], 3] 14:17:54.928 [debug] QUERY OK source="media_items" db=0.7ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har vi besøg af min veninde fra København fordi vi er kommet dertil hvor vi skal holde navngivningsfest for vores datter. Vi har slået det store brød op med kæmpe telt i haven og alt harald nyborgs pynt tror jeg nærmest? Derudover har Mikkel besluttet sig for at bygge sit eget gyngestativ til vores nye gynger\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi gør klar til navngivningsfest | Livet på gården Ep. 61", "b973adce-07b5-42d4-9f9e-b39df3964c4e", 3, [], 1491, false, "KMuFnD8X_To", "https://www.youtube.com/watch?v=KMuFnD8X_To", 60, "/downloads/shows/Livet på gården/Season 2025/s2025e101600 - Vi gør klar til navngivningsfest | Livet på gården Ep. 61.mp4", false, false, false, 1, ~U[2025-10-16 14:00:35Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit har vi besøg af min veninde fra København fordi vi er kommet dertil hvor vi skal holde navngivningsfest for vores datter. Vi har slået det store brød op med kæmpe telt i haven og alt harald nyborgs pynt tror jeg nærmest? Derudover har Mikkel besluttet sig for at bygge sit eget gyngestativ til vores nye gynger\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi gør klar til navngivningsfest | Livet på gården Ep. 61", 3, 1491, false, "KMuFnD8X_To", "https://www.youtube.com/watch?v=KMuFnD8X_To", "/downloads/shows/Livet på gården/Season 2025/s2025e101600 - Vi gør klar til navngivningsfest | Livet på gården Ep. 61.mp4", false, ~U[2025-10-16 14:00:35Z]] 14:17:54.928 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.929 [debug] QUERY OK source="media_items" db=0.3ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 14:00:02Z], 3] 14:17:54.932 [debug] QUERY OK source="media_items" db=2.2ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode fortsætter vi byggeriet af gyngestativet som skal stå i bunden af haven. Mikkel tegner og fortæller hvordan han laver det og jeg er på en måde blevet praktikant. Jeg er samtidig ved at forberede mig på keramiksalg den forestående weekend og det er lidt mere spændende end normalt fordi jeg denne gang fikser alt selv, eftersom Malene ikke længere er hos mig.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi bygger et gyngestativ | Livet på gården Ep. 62", "37f6f1ea-8f73-481b-b88d-0e548fae6e4c", 3, [], 1384, false, "aSbYAroNsjw", "https://www.youtube.com/watch?v=aSbYAroNsjw", 61, "/downloads/shows/Livet på gården/Season 2025/s2025e102300 - Vi bygger et gyngestativ | Livet på gården Ep. 62.mp4", false, false, false, 1, ~U[2025-10-23 14:00:02Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I denne episode fortsætter vi byggeriet af gyngestativet som skal stå i bunden af haven. Mikkel tegner og fortæller hvordan han laver det og jeg er på en måde blevet praktikant. Jeg er samtidig ved at forberede mig på keramiksalg den forestående weekend og det er lidt mere spændende end normalt fordi jeg denne gang fikser alt selv, eftersom Malene ikke længere er hos mig.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi bygger et gyngestativ | Livet på gården Ep. 62", 3, 1384, false, "aSbYAroNsjw", "https://www.youtube.com/watch?v=aSbYAroNsjw", "/downloads/shows/Livet på gården/Season 2025/s2025e102300 - Vi bygger et gyngestativ | Livet på gården Ep. 62.mp4", false, ~U[2025-10-23 14:00:02Z]] 14:17:54.932 [debug] QUERY OK source="sources" db=0.2ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.933 [debug] QUERY OK source="media_items" db=0.4ms idle=5.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 14:00:55Z], 3] 14:17:54.935 [debug] QUERY OK source="media_items" db=0.9ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode 959KRISTINES eller få rabatten via linket her: http://www.hellofresh.dk/959KRISTINES\n\nI denne episode sætter vi langt om længe keramik til salg igen, og det er udsolgt på meget få minutter. Vi er på røven over det må jeg bare sige. Mikkel bygger og vi får besøg af min familie der hjælper til hvor der er brug for det. Julle overtager kameraet mens hun maler og jeg er ved lægen med vores datter. Min far underholder som altid med alle de vanvittige ting han siger og min mor er gået i krig med vasketøjet \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63", "492205d2-f0d1-4c05-b253-a016e2ba800b", 3, [], 1386, false, "_c08N8LDjq4", "https://www.youtube.com/watch?v=_c08N8LDjq4", 62, "/downloads/shows/Livet på gården/Season 2025/s2025e103000 - Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63.mp4", false, false, false, 1, ~U[2025-10-30 14:00:55Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode 959KRISTINES eller få rabatten via linket her: http://www.hellofresh.dk/959KRISTINES\n\nI denne episode sætter vi langt om længe keramik til salg igen, og det er udsolgt på meget få minutter. Vi er på røven over det må jeg bare sige. Mikkel bygger og vi får besøg af min familie der hjælper til hvor der er brug for det. Julle overtager kameraet mens hun maler og jeg er ved lægen med vores datter. Min far underholder som altid med alle de vanvittige ting han siger og min mor er gået i krig med vasketøjet \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63", 3, 1386, false, "_c08N8LDjq4", "https://www.youtube.com/watch?v=_c08N8LDjq4", "/downloads/shows/Livet på gården/Season 2025/s2025e103000 - Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63.mp4", false, ~U[2025-10-30 14:00:55Z]] 14:17:54.935 [debug] QUERY OK source="sources" db=0.3ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.936 [debug] QUERY OK source="media_items" db=0.3ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-06 14:00:48Z], 3] 14:17:54.937 [debug] QUERY OK source="media_items" db=0.8ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi langt om længe gået igang med at male soklen under vores vinduer. Mikkel er ikke just tilfreds med min måde at gøre det på, men det bliver han nok aldrig haha. Willy er blevet besat af at sidde på min skulder og Mikkel synes åbenbart at et pæretræ skal dø? Jeg svare også på spørgsmål jeg ofte får om hvordan det har været at blive mor, når man har et sind som mit.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64", "a7416386-8c67-4178-8dc8-d8b5c9d5bda5", 3, [], 1699, false, "NcSqbDLMJCo", "https://www.youtube.com/watch?v=NcSqbDLMJCo", 63, "/downloads/shows/Livet på gården/Season 2025/s2025e110600 - Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64.mp4", false, false, false, 1, ~U[2025-11-06 14:00:48Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit er vi langt om længe gået igang med at male soklen under vores vinduer. Mikkel er ikke just tilfreds med min måde at gøre det på, men det bliver han nok aldrig haha. Willy er blevet besat af at sidde på min skulder og Mikkel synes åbenbart at et pæretræ skal dø? Jeg svare også på spørgsmål jeg ofte får om hvordan det har været at blive mor, når man har et sind som mit.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64", 3, 1699, false, "NcSqbDLMJCo", "https://www.youtube.com/watch?v=NcSqbDLMJCo", "/downloads/shows/Livet på gården/Season 2025/s2025e110600 - Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64.mp4", false, ~U[2025-11-06 14:00:48Z]] 14:17:54.938 [debug] QUERY OK source="sources" db=0.1ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.939 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-13 15:01:37Z], 3] 14:17:54.940 [debug] QUERY OK source="media_items" db=0.8ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dagens afsnit er Mikkel spændt som en flitsbue fordi hans længe ventede drøm om en minilæsser endelig går i opfyldelse og jeg får mig ca. verdens gladeste mand og forhåbenligt lidt ro hahaha. Den er meget velkommen, fordi det er blevet tid til at pille gavlene ned med hjælp fra Mikkels bedste buddy Krog som også er tømrer. Deres mission er at pille 2 gavle ned og bygge dem op igen på 2 dage - et ambitiøst projekt mildt sagt. I kommer med i processen og Mikkel deler han tanker og viden om den slags. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65", "0629c2ee-9ebf-4e53-a111-ac073a972668", 3, [], 1312, false, "bt4dqhzvEu0", "https://www.youtube.com/watch?v=bt4dqhzvEu0", 64, "/downloads/shows/Livet på gården/Season 2025/s2025e111300 - Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65.mp4", false, false, false, 1, ~U[2025-11-13 15:01:37Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dagens afsnit er Mikkel spændt som en flitsbue fordi hans længe ventede drøm om en minilæsser endelig går i opfyldelse og jeg får mig ca. verdens gladeste mand og forhåbenligt lidt ro hahaha. Den er meget velkommen, fordi det er blevet tid til at pille gavlene ned med hjælp fra Mikkels bedste buddy Krog som også er tømrer. Deres mission er at pille 2 gavle ned og bygge dem op igen på 2 dage - et ambitiøst projekt mildt sagt. I kommer med i processen og Mikkel deler han tanker og viden om den slags. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65", 3, 1312, false, "bt4dqhzvEu0", "https://www.youtube.com/watch?v=bt4dqhzvEu0", "/downloads/shows/Livet på gården/Season 2025/s2025e111300 - Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65.mp4", false, ~U[2025-11-13 15:01:37Z]] 14:17:54.941 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.941 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-20 15:01:06Z], 3] 14:17:54.943 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager Mikkel os med når han viser hvad han har fikset med minilæsseren. Han har gang i den helt store oprydning både det ene og ander sted. Jeg prøver at sidde i minilæsseren for første gang mens Mikkel fortæller hvad den kan. Inde i køkkenet har jeg gang i at langtidskoge ossobuco til baby - og så tager vi jer med i vores planer og forestående indkøb til overetagen. Og det bliver ikke ligefrem gratis. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66", "51c5ce0d-9242-4334-bdac-473e14b805dc", 3, [], 1694, false, "XO87v1AxbWQ", "https://www.youtube.com/watch?v=XO87v1AxbWQ", 65, "/downloads/shows/Livet på gården/Season 2025/s2025e112000 - Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66.mp4", false, false, false, 1, ~U[2025-11-20 15:01:06Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit tager Mikkel os med når han viser hvad han har fikset med minilæsseren. Han har gang i den helt store oprydning både det ene og ander sted. Jeg prøver at sidde i minilæsseren for første gang mens Mikkel fortæller hvad den kan. Inde i køkkenet har jeg gang i at langtidskoge ossobuco til baby - og så tager vi jer med i vores planer og forestående indkøb til overetagen. Og det bliver ikke ligefrem gratis. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66", 3, 1694, false, "XO87v1AxbWQ", "https://www.youtube.com/watch?v=XO87v1AxbWQ", "/downloads/shows/Livet på gården/Season 2025/s2025e112000 - Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66.mp4", false, ~U[2025-11-20 15:01:06Z]] 14:17:54.943 [debug] QUERY OK source="sources" db=0.1ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.944 [debug] QUERY OK source="media_items" db=0.3ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-27 15:01:45Z], 3] 14:17:54.945 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi gået i køkkenet for at forsøge os med at lave vores egen kimchi, som jo er en form for fermenteret koreansk kål, som Mikkel elsker og spiser i store mængder. Det viser sig som lidt af en videnskab, men ikke desto mindre er Mikkel sjofel som altid og jeg forsøger bare at komme i mål med den kål, hahah. Det er samme dag simba prisen, som vi vinder - men som i nok ved, er jeg mere til kimchi end store sale og mennesker. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi laver hjemmelavet kimchi | Livet på gården Ep. 67", "c2390b4c-70c6-44a1-82b4-e68ca1680a9e", 3, [], 1232, false, "qDN2-yN1EkI", "https://www.youtube.com/watch?v=qDN2-yN1EkI", 66, "/downloads/shows/Livet på gården/Season 2025/s2025e112700 - Vi laver hjemmelavet kimchi | Livet på gården Ep. 67.mp4", false, false, false, 1, ~U[2025-11-27 15:01:45Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit er vi gået i køkkenet for at forsøge os med at lave vores egen kimchi, som jo er en form for fermenteret koreansk kål, som Mikkel elsker og spiser i store mængder. Det viser sig som lidt af en videnskab, men ikke desto mindre er Mikkel sjofel som altid og jeg forsøger bare at komme i mål med den kål, hahah. Det er samme dag simba prisen, som vi vinder - men som i nok ved, er jeg mere til kimchi end store sale og mennesker. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi laver hjemmelavet kimchi | Livet på gården Ep. 67", 3, 1232, false, "qDN2-yN1EkI", "https://www.youtube.com/watch?v=qDN2-yN1EkI", "/downloads/shows/Livet på gården/Season 2025/s2025e112700 - Vi laver hjemmelavet kimchi | Livet på gården Ep. 67.mp4", false, ~U[2025-11-27 15:01:45Z]] 14:17:54.946 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.946 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-11 15:01:34Z], 3] 14:17:54.948 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i for alvor med ovenpå når vi lægger en endelig plan for ruminddelingen af overetagen og Mikkel grubler og fortæller hvorfor noget kan lade sig gøre, og andet ikke kan. Vi skal have gang i det helt store isoleringsarbejde, fordi det for alvor er blevet koldt - så vi knokler på og får slæbt isolering op og går igang. Jeg hjælper så godt jeg kan, men som i ved er Mikkel ikke altid begejstret for det jeg byder ind med. Vi kører timelapse derudaf og runder også \"Brohave bliver bøf\", hvilket Mikkel simpelthen ikke ved hvad er, hahahah\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68", "be6fcbc5-4c36-4be0-8c39-2d0bb27f50e3", 3, [], 1620, false, "kOicCYUbF9Y", "https://www.youtube.com/watch?v=kOicCYUbF9Y", 67, "/downloads/shows/Livet på gården/Season 2025/s2025e121100 - Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68.mp4", false, false, false, 1, ~U[2025-12-11 15:01:34Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit kommer i for alvor med ovenpå når vi lægger en endelig plan for ruminddelingen af overetagen og Mikkel grubler og fortæller hvorfor noget kan lade sig gøre, og andet ikke kan. Vi skal have gang i det helt store isoleringsarbejde, fordi det for alvor er blevet koldt - så vi knokler på og får slæbt isolering op og går igang. Jeg hjælper så godt jeg kan, men som i ved er Mikkel ikke altid begejstret for det jeg byder ind med. Vi kører timelapse derudaf og runder også \"Brohave bliver bøf\", hvilket Mikkel simpelthen ikke ved hvad er, hahahah\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68", 3, 1620, false, "kOicCYUbF9Y", "https://www.youtube.com/watch?v=kOicCYUbF9Y", "/downloads/shows/Livet på gården/Season 2025/s2025e121100 - Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68.mp4", false, ~U[2025-12-11 15:01:34Z]] 14:17:54.949 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.949 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-18 15:00:08Z], 3] 14:17:54.951 [debug] QUERY OK source="media_items" db=0.7ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården sørger vi for at få lukket af med vintermåtter oppe på overetagen. Jeg er i dårligt humør, en dag vi beslutter os for at hænge lyskæder op udenfor, men Mikkel er som altid smart i en fart og fyre alt muligt pis af, hahah. Derudover har vi kæmpe store problemer i hønsegården og har taget en stor beslutning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69", "3323385e-6ba9-432a-b240-92907aecd277", 3, [], 1331, false, "49M-tMeNIb0", "https://www.youtube.com/watch?v=49M-tMeNIb0", 68, "/downloads/shows/Livet på gården/Season 2025/s2025e121800 - Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69.mp4", false, false, false, 1, ~U[2025-12-18 15:00:08Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit af livet på gården sørger vi for at få lukket af med vintermåtter oppe på overetagen. Jeg er i dårligt humør, en dag vi beslutter os for at hænge lyskæder op udenfor, men Mikkel er som altid smart i en fart og fyre alt muligt pis af, hahah. Derudover har vi kæmpe store problemer i hønsegården og har taget en stor beslutning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69", 3, 1331, false, "49M-tMeNIb0", "https://www.youtube.com/watch?v=49M-tMeNIb0", "/downloads/shows/Livet på gården/Season 2025/s2025e121800 - Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69.mp4", false, ~U[2025-12-18 15:00:08Z]] 14:17:54.951 [debug] QUERY OK source="sources" db=0.3ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.952 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-08 15:00:33Z], 3] 14:17:54.953 [debug] QUERY OK source="media_items" db=0.9ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode KRISTINES26 eller få rabatten via linket her: http://www.hellofresh.dk/KRISTINES26\n\nI denne video har vi endelig fundet den helt perfekte brugte trappe som Mikkel henter i Thy, på en trailer der ser pænt spændende ud. Opgaven er så at få den godt på plads inde i laden, indtil den skal monteres i huset. Der er også blevet tomt i hønsehuset for første gang i nærmest alt den tid vi har boet på gården og det synes jeg er ret svært. Jeg er igang i køkkenet og Mikkel fortsætter kampen med at isolere overetagen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71", "1acb1319-4d54-440c-b3ca-92cf6a43a87f", 3, [], 1463, false, "EzliYAXWUnU", "https://www.youtube.com/watch?v=EzliYAXWUnU", 69, "/downloads/shows/Livet på gården/Season 2026/s2026e010800 - En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71.mp4", false, false, false, 1, ~U[2026-01-08 15:00:33Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode KRISTINES26 eller få rabatten via linket her: http://www.hellofresh.dk/KRISTINES26\n\nI denne video har vi endelig fundet den helt perfekte brugte trappe som Mikkel henter i Thy, på en trailer der ser pænt spændende ud. Opgaven er så at få den godt på plads inde i laden, indtil den skal monteres i huset. Der er også blevet tomt i hønsehuset for første gang i nærmest alt den tid vi har boet på gården og det synes jeg er ret svært. Jeg er igang i køkkenet og Mikkel fortsætter kampen med at isolere overetagen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71", 3, 1463, false, "EzliYAXWUnU", "https://www.youtube.com/watch?v=EzliYAXWUnU", "/downloads/shows/Livet på gården/Season 2026/s2026e010800 - En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71.mp4", false, ~U[2026-01-08 15:00:33Z]] 14:17:54.954 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.955 [debug] QUERY OK source="media_items" db=0.3ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-15 15:00:57Z], 3] 14:17:54.956 [debug] QUERY OK source="media_items" db=0.8ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode har vi os en noget svag hund som er blevet opereret, jeg organiserer til den helt store guldmedalje og så er jeg altså begyndt at preppe og fylde skabene til ekstra op. Mikkel fyre rundt ovenpå og er ved at kunne se enden på isoleringen og så får vi for alvor et kig på hvordan vores hall kommer til at se ud - den bliver jo kæmpe! \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72", "f25c054e-f463-4db5-926a-6ee1541480e8", 3, [], 1063, false, "W25cAiJgVl4", "https://www.youtube.com/watch?v=W25cAiJgVl4", 70, "/downloads/shows/Livet på gården/Season 2026/s2026e011500 - Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72.mp4", false, false, false, 1, ~U[2026-01-15 15:00:57Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I denne episode har vi os en noget svag hund som er blevet opereret, jeg organiserer til den helt store guldmedalje og så er jeg altså begyndt at preppe og fylde skabene til ekstra op. Mikkel fyre rundt ovenpå og er ved at kunne se enden på isoleringen og så får vi for alvor et kig på hvordan vores hall kommer til at se ud - den bliver jo kæmpe! \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72", 3, 1063, false, "W25cAiJgVl4", "https://www.youtube.com/watch?v=W25cAiJgVl4", "/downloads/shows/Livet på gården/Season 2026/s2026e011500 - Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72.mp4", false, ~U[2026-01-15 15:00:57Z]] 14:17:54.957 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.957 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 15:01:06Z], 3] 14:17:54.959 [debug] QUERY OK source="media_items" db=0.7ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode sælger vi keramik. I kommer med helt tæt på når jeg forbereder og sætter op. Min mor kommer os til undsætning for at hjælpe med pakkeriet, og jeg er som altid spændt som en flitsbue. Det hele bliver udsolgt på rekordtid og jeg er bare i chok altså. Det er SÅ vildt! \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73", "f551b53c-0257-4dcc-a430-74f3955bf1ea", 3, [], 1312, false, "ZhpmiMpVyZw", "https://www.youtube.com/watch?v=ZhpmiMpVyZw", 71, "/downloads/shows/Livet på gården/Season 2026/s2026e012200 - Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73.mp4", false, false, false, 1, ~U[2026-01-22 15:01:06Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I denne episode sælger vi keramik. I kommer med helt tæt på når jeg forbereder og sætter op. Min mor kommer os til undsætning for at hjælpe med pakkeriet, og jeg er som altid spændt som en flitsbue. Det hele bliver udsolgt på rekordtid og jeg er bare i chok altså. Det er SÅ vildt! \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73", 3, 1312, false, "ZhpmiMpVyZw", "https://www.youtube.com/watch?v=ZhpmiMpVyZw", "/downloads/shows/Livet på gården/Season 2026/s2026e012200 - Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73.mp4", false, ~U[2026-01-22 15:01:06Z]] 14:17:54.959 [debug] QUERY OK source="sources" db=0.1ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.960 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 15:01:22Z], 3] 14:17:54.962 [debug] QUERY OK source="media_items" db=0.8ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården er vi mildest talt ufatteligt nervøse. Efter en weekend hvor vi akut måtte kører Carla til dyrlægen, er Mikkel kørt afsted med hende til Viborg hvor hun skal ind til en neurolog, fordi hun opfører sig helt skørt og ved siden af sig selv. I mens forsøger jeg at distrahere mig selv i keramikken. Senere er der dårlig stemning på første salen da det går op for os at Willy bruger isolering som toilet - og så er vi en tur udenfor, for at rydde op efter nedrivningen af gavlene. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74", "d39b99b8-a68b-4705-a543-95b5a08a9aa8", 3, [], 1476, false, "mJgxlMp3x34", "https://www.youtube.com/watch?v=mJgxlMp3x34", 72, "/downloads/shows/Livet på gården/Season 2026/s2026e012900 - Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74.mp4", false, false, false, 1, ~U[2026-01-29 15:01:22Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit af livet på gården er vi mildest talt ufatteligt nervøse. Efter en weekend hvor vi akut måtte kører Carla til dyrlægen, er Mikkel kørt afsted med hende til Viborg hvor hun skal ind til en neurolog, fordi hun opfører sig helt skørt og ved siden af sig selv. I mens forsøger jeg at distrahere mig selv i keramikken. Senere er der dårlig stemning på første salen da det går op for os at Willy bruger isolering som toilet - og så er vi en tur udenfor, for at rydde op efter nedrivningen af gavlene. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74", 3, 1476, false, "mJgxlMp3x34", "https://www.youtube.com/watch?v=mJgxlMp3x34", "/downloads/shows/Livet på gården/Season 2026/s2026e012900 - Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74.mp4", false, ~U[2026-01-29 15:01:22Z]] 14:17:54.962 [debug] QUERY OK source="sources" db=0.5ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.963 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 15:01:29Z], 3] 14:17:54.964 [debug] QUERY OK source="media_items" db=0.8ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video fortsætter byggeriet og jeg får overtalt Mikkel til selv at tage kameraet med op og fortælle lidt mere teknisk om hvad han laver og hvorfor - og så har han lavet en timelapse (så cute). Mens der sker gevaldige fremskridt på første salen, er min første sal udfordret. Jeg er træt med træt på. Der er også kommet sne på gården og så opdatere jeg på hvordan det går med Carla. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75", "aca5ddc1-87c6-42ab-8246-c999930b2421", 3, [], 1929, false, "o4CgI8DjMPw", "https://www.youtube.com/watch?v=o4CgI8DjMPw", 73, "/downloads/shows/Livet på gården/Season 2026/s2026e020500 - Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75.mp4", false, false, false, 1, ~U[2026-02-05 15:01:29Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I denne video fortsætter byggeriet og jeg får overtalt Mikkel til selv at tage kameraet med op og fortælle lidt mere teknisk om hvad han laver og hvorfor - og så har han lavet en timelapse (så cute). Mens der sker gevaldige fremskridt på første salen, er min første sal udfordret. Jeg er træt med træt på. Der er også kommet sne på gården og så opdatere jeg på hvordan det går med Carla. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75", 3, 1929, false, "o4CgI8DjMPw", "https://www.youtube.com/watch?v=o4CgI8DjMPw", "/downloads/shows/Livet på gården/Season 2026/s2026e020500 - Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75.mp4", false, ~U[2026-02-05 15:01:29Z]] 14:17:54.965 [debug] QUERY OK source="sources" db=0.1ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.966 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-12 15:01:16Z], 3] 14:17:54.967 [debug] QUERY OK source="media_items" db=0.9ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården går Mikkel i krig med at rette gulvet op på overetagen og får lagt en en gulvspånplader. Der er nedslående nyheder fra Krog, the man of all men, som er vores mest pålidelige hjælp - og så tager vi altså en snak om økonomien i en renovering som vores. Hvad har overetagen kostet indtil videre? Og hvad regner vi med at bruge? Mikkel tegner og fortæller grundigt om den endelige planløsning som nu er fastlagt - og nårh ja, så har jeg fået min menstruation for første gang siden fødslen og det er ikke for tøsedrenge\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76", "4d1ce6b6-be8e-49cd-9039-81dc7e095182", 3, [], 1827, false, "gZRnKqaiy3k", "https://www.youtube.com/watch?v=gZRnKqaiy3k", 74, "/downloads/shows/Livet på gården/Season 2026/s2026e021200 - Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76.mp4", false, false, false, 1, ~U[2026-02-12 15:01:16Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit af livet på gården går Mikkel i krig med at rette gulvet op på overetagen og får lagt en en gulvspånplader. Der er nedslående nyheder fra Krog, the man of all men, som er vores mest pålidelige hjælp - og så tager vi altså en snak om økonomien i en renovering som vores. Hvad har overetagen kostet indtil videre? Og hvad regner vi med at bruge? Mikkel tegner og fortæller grundigt om den endelige planløsning som nu er fastlagt - og nårh ja, så har jeg fået min menstruation for første gang siden fødslen og det er ikke for tøsedrenge\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76", 3, 1827, false, "gZRnKqaiy3k", "https://www.youtube.com/watch?v=gZRnKqaiy3k", "/downloads/shows/Livet på gården/Season 2026/s2026e021200 - Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76.mp4", false, ~U[2026-02-12 15:01:16Z]] 14:17:54.968 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.969 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-19 15:01:02Z], 3] 14:17:54.970 [debug] QUERY OK source="media_items" db=0.8ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit trodser vi kulden og begynder at måle op og lægge planer for udvidelsen af mit keramikværksted som vi har planer om. Mikkel hjælper mig med at lave tørreplader af gips til keramikken - og så snakker vi om hvad folk på reddit synes om os. Jeg tager jer også med lidt mere i detaljen af hvordan det foregår når jeg blandt andet glasere kopper. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77", "1b5f6d3b-54cc-4ae3-ad0b-7e4817cade3e", 3, [], 1488, false, "XPD5zoS3yLA", "https://www.youtube.com/watch?v=XPD5zoS3yLA", 75, "/downloads/shows/Livet på gården/Season 2026/s2026e021900 - Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77.mp4", false, false, false, 1, ~U[2026-02-19 15:01:02Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit trodser vi kulden og begynder at måle op og lægge planer for udvidelsen af mit keramikværksted som vi har planer om. Mikkel hjælper mig med at lave tørreplader af gips til keramikken - og så snakker vi om hvad folk på reddit synes om os. Jeg tager jer også med lidt mere i detaljen af hvordan det foregår når jeg blandt andet glasere kopper. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77", 3, 1488, false, "XPD5zoS3yLA", "https://www.youtube.com/watch?v=XPD5zoS3yLA", "/downloads/shows/Livet på gården/Season 2026/s2026e021900 - Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77.mp4", false, ~U[2026-02-19 15:01:02Z]] 14:17:54.971 [debug] QUERY OK source="sources" db=0.1ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.971 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 15:00:51Z], 3] 14:17:54.973 [debug] QUERY OK source="media_items" db=1.1ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nSpar op til 959 kroner på dine første 5 måltidskasser og få gratis snacks med de første 3 måneder med min kode: KRISTINES2026\nEller få rabatten helt automatisk ved brug af dette link: http://www.hellofresh.dk/KRISTINES2026\n\ndenne video er vores længe ventede 3D printer endelig kommet hjem - noget vi har set frem til og særligt Mikkel som den grej freak han er, synes det er spændende. Vi samler den og prøver den af - og sikke en verden! I kommer med i køkkenet hvor den står på en smule primitiv madlavning fordi køkkenet flyder, fordi der er VVS arbejde igang og så viser jeg nogle af de sager vi har printet frem. Og er meget fascineret. Vi er også i sving med den helt store rengøring inden Rasmus Brohave kommer på besøg og skal overnatte - og det er jo ingen hemmelighed at min rengøringsstandard ikke helt lever op til den meget pæne mands, haha\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi har købt en 3D printer! | Livet på gården Ep. 78", "2ba9b994-b7e2-470b-b10c-9448c0d5dd2d", 3, [], 1391, false, "Op8Tlzdn5eo", "https://www.youtube.com/watch?v=Op8Tlzdn5eo", 76, "/downloads/shows/Livet på gården/Season 2026/s2026e022600 - Vi har købt en 3D printer! | Livet på gården Ep. 78.mp4", false, false, false, 1, ~U[2026-02-26 15:00:51Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "Denne video indeholder reklame for HelloFresh. \n\nSpar op til 959 kroner på dine første 5 måltidskasser og få gratis snacks med de første 3 måneder med min kode: KRISTINES2026\nEller få rabatten helt automatisk ved brug af dette link: http://www.hellofresh.dk/KRISTINES2026\n\ndenne video er vores længe ventede 3D printer endelig kommet hjem - noget vi har set frem til og særligt Mikkel som den grej freak han er, synes det er spændende. Vi samler den og prøver den af - og sikke en verden! I kommer med i køkkenet hvor den står på en smule primitiv madlavning fordi køkkenet flyder, fordi der er VVS arbejde igang og så viser jeg nogle af de sager vi har printet frem. Og er meget fascineret. Vi er også i sving med den helt store rengøring inden Rasmus Brohave kommer på besøg og skal overnatte - og det er jo ingen hemmelighed at min rengøringsstandard ikke helt lever op til den meget pæne mands, haha\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi har købt en 3D printer! | Livet på gården Ep. 78", 3, 1391, false, "Op8Tlzdn5eo", "https://www.youtube.com/watch?v=Op8Tlzdn5eo", "/downloads/shows/Livet på gården/Season 2026/s2026e022600 - Vi har købt en 3D printer! | Livet på gården Ep. 78.mp4", false, ~U[2026-02-26 15:00:51Z]] 14:17:54.974 [debug] QUERY OK source="sources" db=0.2ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.974 [debug] QUERY OK source="media_items" db=0.3ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-05 15:00:58Z], 3] 14:17:54.978 [debug] QUERY OK source="media_items" db=2.7ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården er der virkelig gang i den. Vi starter ugen ud med at have Rasmus Brohave til overnatning - og han får den store rundtur. Sneen er for alvor kommet på besøg og Mikkel har naturligvis travlt med at komme ud i minilæsseren i en fart - og helt frivilligt tager han kameraet med, så i kan se hvordan det foregår at rydde vores meget lange grusvej. Mine forældre er på besøg - og som altid hjælper min mor med noget husligt og min far tilslutter sig Mikkel og byggeriet - jeg laver babymad og så er jeg blevet besat af surdej. Og nårh jo, så er min baby begyndt at sove om natten.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79", "0474767b-eb52-4ee4-914d-2497cc6e9cd4", 3, [], 1601, false, "Th4fpPdHVU0", "https://www.youtube.com/watch?v=Th4fpPdHVU0", 77, "/downloads/shows/Livet på gården/Season 2026/s2026e030500 - Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79.mkv", false, false, false, 1, ~U[2026-03-05 15:00:58Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit af livet på gården er der virkelig gang i den. Vi starter ugen ud med at have Rasmus Brohave til overnatning - og han får den store rundtur. Sneen er for alvor kommet på besøg og Mikkel har naturligvis travlt med at komme ud i minilæsseren i en fart - og helt frivilligt tager han kameraet med, så i kan se hvordan det foregår at rydde vores meget lange grusvej. Mine forældre er på besøg - og som altid hjælper min mor med noget husligt og min far tilslutter sig Mikkel og byggeriet - jeg laver babymad og så er jeg blevet besat af surdej. Og nårh jo, så er min baby begyndt at sove om natten.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79", 3, 1601, false, "Th4fpPdHVU0", "https://www.youtube.com/watch?v=Th4fpPdHVU0", "/downloads/shows/Livet på gården/Season 2026/s2026e030500 - Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79.mkv", false, ~U[2026-03-05 15:00:58Z]] 14:17:54.978 [debug] QUERY OK source="sources" db=0.2ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.979 [debug] QUERY OK source="media_items" db=0.3ms idle=5.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-12 15:00:58Z], 3] 14:17:54.981 [debug] QUERY OK source="media_items" db=0.8ms idle=5.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er mine forældre på besøg og min mor og jeg sætter os for langt om længe at få støbt nogle fugtkasser til mig, som er et uundværligt redskab i keramikværkstedet. Jeg er efter lang tids pause tilbage ved bageriet og kaster mig over nogle virale chokoladeboller - og så har vvs'eren været på for at etablere pexslanger til kold og varm vand, så Mikkel nu kan komme videre med tømrerdelen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80", "9df852fe-14e1-4314-9296-eb09c40a62fd", 3, [], 1829, false, "WZAGvRqldgo", "https://www.youtube.com/watch?v=WZAGvRqldgo", 78, "/downloads/shows/Livet på gården/Season 2026/s2026e031200 - Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80.mkv", false, false, false, 1, ~U[2026-03-12 15:00:58Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit er mine forældre på besøg og min mor og jeg sætter os for langt om længe at få støbt nogle fugtkasser til mig, som er et uundværligt redskab i keramikværkstedet. Jeg er efter lang tids pause tilbage ved bageriet og kaster mig over nogle virale chokoladeboller - og så har vvs'eren været på for at etablere pexslanger til kold og varm vand, så Mikkel nu kan komme videre med tømrerdelen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80", 3, 1829, false, "WZAGvRqldgo", "https://www.youtube.com/watch?v=WZAGvRqldgo", "/downloads/shows/Livet på gården/Season 2026/s2026e031200 - Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80.mkv", false, ~U[2026-03-12 15:00:58Z]] 14:17:54.981 [debug] QUERY OK source="sources" db=0.2ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.982 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 15:01:40Z], 3] 14:17:54.983 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit prøver jeg at bage med min surdej for aller første gang - det viser sig jo at være en lang proces, men det jeg tror faktisk det går okay? Mikkel er i fuld gang med at bygge skillevægge på første salen og han tager kameraet med og fortæller hvordan og hvorledes - og laver timelapse af processen. Malene kommer på besøg efter mange måneder - og hvad laver hun egentlig nu? Det runder vi - og så tager vi en status på forretningsdelen i keramikken og snakker om hvordan det går. Og så har jeg lavet kopper til et særligt par. Malene kan ikke gætte hvem de er til - men det kan du måske? \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81", "06db4f82-fee5-430e-99d7-16bbcaab618b", 3, [], 1440, false, "wvCb1ystnC0", "https://www.youtube.com/watch?v=wvCb1ystnC0", 79, "/downloads/shows/Livet på gården/Season 2026/s2026e031900 - Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81.mkv", false, false, false, 1, ~U[2026-03-19 15:01:40Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit prøver jeg at bage med min surdej for aller første gang - det viser sig jo at være en lang proces, men det jeg tror faktisk det går okay? Mikkel er i fuld gang med at bygge skillevægge på første salen og han tager kameraet med og fortæller hvordan og hvorledes - og laver timelapse af processen. Malene kommer på besøg efter mange måneder - og hvad laver hun egentlig nu? Det runder vi - og så tager vi en status på forretningsdelen i keramikken og snakker om hvordan det går. Og så har jeg lavet kopper til et særligt par. Malene kan ikke gætte hvem de er til - men det kan du måske? \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81", 3, 1440, false, "wvCb1ystnC0", "https://www.youtube.com/watch?v=wvCb1ystnC0", "/downloads/shows/Livet på gården/Season 2026/s2026e031900 - Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81.mkv", false, ~U[2026-03-19 15:01:40Z]] 14:17:54.984 [debug] QUERY OK source="sources" db=0.2ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.985 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-26 15:01:31Z], 3] 14:17:54.986 [debug] QUERY OK source="media_items" db=0.8ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har Mikkel for alvor taget mine ord til sig og taget kameraet med ovenpå mens han er i fuld gang med gulvvarmen - han går i detaljer med hvordan han gør og hvilke tanker han har gjort sig om processen. Blandt andet fortæller han hvordan han har valgt at lave et \"svømmende gulv\". Vi er på årets første have vandring og beslutter os for nu at sætte alt ind på at den køkkenhave skal komme til at spille. Alt skal væk og etableres helt på ny!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82", "94d60530-124e-41ef-9467-704f70caf5ba", 3, [], 1393, false, "pxD1_Ax0eMI", "https://www.youtube.com/watch?v=pxD1_Ax0eMI", 80, "/downloads/shows/Livet på gården/Season 2026/s2026e032600 - Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82.mkv", false, false, false, 1, ~U[2026-03-26 15:01:31Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I denne video har Mikkel for alvor taget mine ord til sig og taget kameraet med ovenpå mens han er i fuld gang med gulvvarmen - han går i detaljer med hvordan han gør og hvilke tanker han har gjort sig om processen. Blandt andet fortæller han hvordan han har valgt at lave et \"svømmende gulv\". Vi er på årets første have vandring og beslutter os for nu at sætte alt ind på at den køkkenhave skal komme til at spille. Alt skal væk og etableres helt på ny!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82", 3, 1393, false, "pxD1_Ax0eMI", "https://www.youtube.com/watch?v=pxD1_Ax0eMI", "/downloads/shows/Livet på gården/Season 2026/s2026e032600 - Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82.mkv", false, ~U[2026-03-26 15:01:31Z]] 14:17:54.986 [debug] QUERY OK source="sources" db=0.1ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 14:17:54.987 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-02 14:00:55Z], 3] 14:17:54.988 [debug] QUERY OK source="media_items" db=0.8ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit går vi for alvor igang med den stor omvæltning af køkkenhaven. Vi rydder drivhuset, fjerner alle bedene og jævner jorden så vi kan starte helt forfra. Vi har købt en drone, så som noget nyt er i også med fra luften og kan se hvordan det går når vi kører med minilæsseren, jævner sand ud og lægger helt ny ukrudtsdug. Jeg gør også klar til endnu et keramiksalg og i er med når jeg forbereder og tager billeder af alle sagerne. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83", "dee287f9-4046-417e-ab36-1d5981c6f8a6", 3, [], 1291, false, "dZk6prUzZkw", "https://www.youtube.com/watch?v=dZk6prUzZkw", 81, "/downloads/shows/Livet på gården/Season 2026/s2026e040200 - Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83.mkv", false, false, false, 1, ~U[2026-04-02 14:00:55Z], ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], "I dette afsnit går vi for alvor igang med den stor omvæltning af køkkenhaven. Vi rydder drivhuset, fjerner alle bedene og jævner jorden så vi kan starte helt forfra. Vi har købt en drone, så som noget nyt er i også med fra luften og kan se hvordan det går når vi kører med minilæsseren, jævner sand ud og lægger helt ny ukrudtsdug. Jeg gør også klar til endnu et keramiksalg og i er med når jeg forbereder og tager billeder af alle sagerne. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83", 3, 1291, false, "dZk6prUzZkw", "https://www.youtube.com/watch?v=dZk6prUzZkw", "/downloads/shows/Livet på gården/Season 2026/s2026e040200 - Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83.mkv", false, ~U[2026-04-02 14:00:55Z]] 14:17:54.989 [debug] QUERY OK source="sources" db=0.1ms idle=4.1ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z], 3] 14:17:54.990 [debug] QUERY OK source="media_items" db=0.5ms idle=3.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 14:17:54.990 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 14:17:54.991 [debug] QUERY OK source="media_items" db=0.1ms idle=3.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 14:17:54.992 [debug] QUERY OK source="tasks" db=0.2ms idle=2.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [4846, 3, ~U[2026-04-16 12:17:54Z], ~U[2026-04-16 12:17:54Z]] 14:17:54.993 [info] {"args":{"id":3},"id":4840,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":245825614,"event":"job:stop","queue_time":955620,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:18:00.486 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:18:00.516 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:30.518 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:00.487 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:19:00.519 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:30.520 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:00.488 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:20:00.520 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:30.522 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:00.489 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:21:00.523 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:30.524 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:00.490 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:22:00.525 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:30.526 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:00.491 [info] {"source":"oban","duration":222,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:23:00.527 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:30.528 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:00.492 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:24:00.529 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:30.530 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:00.493 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:25:00.531 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:30.532 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:00.494 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:26:00.533 [info] {"source":"oban","duration":1196,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:30.535 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:00.495 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:27:00.536 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:30.537 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:00.496 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:28:00.538 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:30.539 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:00.497 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:29:00.540 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:30.541 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:00.498 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:30:00.542 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:30.543 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:00.499 [info] {"source":"oban","duration":159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:31:00.544 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:30.544 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:00.500 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:32:00.546 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:30.546 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:00.501 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:33:00.548 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:30.549 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:00.502 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:34:00.550 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:30.551 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:00.503 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:35:00.552 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:30.553 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:00.504 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:36:00.554 [info] {"source":"oban","duration":624,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:30.555 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:00.505 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:37:00.556 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:30.557 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:00.506 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:38:00.558 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:30.559 [info] {"source":"oban","duration":1219,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:00.507 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:39:00.561 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:30.562 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:00.508 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:40:00.563 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:30.564 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:00.509 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:41:00.565 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:30.566 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:00.510 [info] {"source":"oban","duration":168,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:42:00.567 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:30.568 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:00.511 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:43:00.569 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:30.570 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:00.512 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:44:00.571 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:30.572 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:00.513 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:45:00.573 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:30.574 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:00.514 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:46:00.575 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:30.576 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:00.515 [info] {"source":"oban","duration":142,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:47:00.577 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:30.578 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:00.516 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:48:00.578 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:30.579 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:00.517 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:49:00.581 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:30.582 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:00.518 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:50:00.583 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:30.584 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:00.519 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:51:00.585 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:30.586 [info] {"source":"oban","duration":849,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:00.520 [info] {"source":"oban","duration":217,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:52:00.587 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:30.588 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:00.521 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:53:00.589 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:30.590 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:00.522 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:54:00.591 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:30.592 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:00.523 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:55:00.593 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:30.594 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:00.524 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:56:00.595 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:30.596 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:00.525 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:57:00.597 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:30.598 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:00.526 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:58:00.599 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:30.600 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:00.527 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:59:00.601 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:30.602 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:00.528 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:00:00.603 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:30.604 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:00.529 [info] {"source":"oban","duration":167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:01:00.605 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:30.606 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:00.530 [info] {"source":"oban","duration":135,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:02:00.607 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:30.608 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:00.531 [info] {"source":"oban","duration":165,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:03:00.608 [info] {"source":"oban","duration":530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:30.609 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:00.532 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:04:00.610 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:30.612 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:00.533 [info] {"source":"oban","duration":175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:05:00.613 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:30.614 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:00.534 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:06:00.615 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:30.616 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:00.535 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:07:00.617 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:30.618 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:00.536 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:08:00.619 [info] {"source":"oban","duration":1012,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:30.621 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:00.537 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:09:00.622 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:30.623 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:00.538 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:10:00.624 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:30.625 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:00.539 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:11:00.626 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:30.627 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:00.540 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:12:00.628 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:30.629 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:00.541 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:13:00.630 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:30.631 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:00.542 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:14:00.632 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:30.633 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:00.543 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:15:00.634 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:30.635 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:00.544 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:16:00.636 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:30.637 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:00.545 [info] {"source":"oban","duration":167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:17:00.638 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:30.639 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:00.546 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:18:00.639 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:30.640 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:00.547 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:19:00.641 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:30.643 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:00.548 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:20:00.644 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:30.645 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:00.549 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:21:00.646 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:30.647 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:00.550 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:22:00.648 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:30.649 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:00.551 [info] {"source":"oban","duration":217,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:23:00.650 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:30.651 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:00.552 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:24:00.652 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:30.653 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:00.553 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:25:00.654 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:30.655 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:00.554 [info] {"source":"oban","duration":225,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:26:00.656 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:30.657 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:00.555 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:27:00.658 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:30.659 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:00.556 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:28:00.661 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:30.662 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:00.557 [info] {"source":"oban","duration":212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:29:00.663 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:30.664 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:00.558 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:30:00.665 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:30.666 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:00.559 [info] {"source":"oban","duration":166,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:31:00.667 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:30.668 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:00.560 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:32:00.669 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:30.670 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:00.561 [info] {"source":"oban","duration":106,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:33:00.671 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:30.672 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:00.562 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:34:00.672 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:30.673 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:00.563 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:35:00.675 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:30.676 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:00.564 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:36:00.677 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:30.678 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:00.565 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:37:00.679 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:30.680 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:00.566 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:38:00.681 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:30.682 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:00.567 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:39:00.683 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:30.684 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:00.568 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:40:00.685 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:30.686 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:00.569 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:41:00.687 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:30.688 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:00.570 [info] {"source":"oban","duration":162,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:42:00.689 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:30.690 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:00.571 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:43:00.691 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:30.692 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:00.572 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:44:00.693 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:30.694 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:00.573 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:45:00.695 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:30.696 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:00.574 [info] {"source":"oban","duration":167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:46:00.697 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:30.698 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:00.575 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:47:00.699 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:30.700 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:00.576 [info] {"source":"oban","duration":159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:48:00.701 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:30.702 [info] {"source":"oban","duration":917,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:00.577 [info] {"source":"oban","duration":92,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:49:00.704 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:30.705 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:00.578 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:50:00.706 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:30.706 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:00.579 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:51:00.707 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:30.709 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:00.580 [info] {"source":"oban","duration":167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:52:00.710 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:30.711 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:00.581 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:53:00.712 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:30.713 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:00.582 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:54:00.714 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:30.715 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:00.583 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:55:00.716 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:30.717 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:00.584 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:56:00.718 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:30.719 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:00.585 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:57:00.720 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:30.721 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:00.586 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:58:00.722 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:30.723 [info] {"source":"oban","duration":807,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:00.587 [info] {"source":"oban","duration":243,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:59:00.725 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:30.726 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:00.588 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:00:00.727 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:30.728 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:00.589 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:01:00.729 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:30.730 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:00.590 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:02:00.731 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:30.732 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:00.591 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:03:00.733 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:30.734 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:00.592 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:04:00.735 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:30.736 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:00.593 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:05:00.737 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:30.738 [info] {"source":"oban","duration":608,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:00.594 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:06:00.739 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:30.739 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:00.595 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:07:00.740 [info] {"source":"oban","duration":502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:30.742 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:00.596 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:08:00.743 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:30.744 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:00.597 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:09:00.745 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:30.746 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:00.598 [info] {"source":"oban","duration":217,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:10:00.747 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:30.748 [info] {"source":"oban","duration":808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:00.599 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:11:00.749 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:30.750 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:00.600 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:12:00.751 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:30.752 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:00.601 [info] {"source":"oban","duration":164,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:13:00.753 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:30.754 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:00.602 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:14:00.755 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:30.756 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:00.603 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:15:00.757 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:30.758 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:00.604 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:16:00.759 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:30.760 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:00.605 [info] {"source":"oban","duration":175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:17:00.761 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:30.762 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:00.606 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:18:00.763 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:30.764 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:00.607 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:19:00.765 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:30.766 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:00.608 [info] {"source":"oban","duration":242,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:20:00.767 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:30.768 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:00.609 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:21:00.769 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:30.770 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:00.610 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:22:00.771 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:30.771 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:00.611 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:23:00.778 [info] {"source":"oban","duration":3012,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:30.783 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:00.612 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:24:00.784 [info] {"source":"oban","duration":1048,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:30.786 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:00.613 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:25:00.787 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:30.788 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:00.614 [info] {"source":"oban","duration":225,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:26:00.789 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:30.790 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:00.615 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:27:00.791 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:30.792 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:00.616 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:28:00.793 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:30.794 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:00.617 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:29:00.795 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:30.796 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:00.618 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:30:00.797 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:30.798 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:00.619 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:31:00.799 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:30.800 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:00.620 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:32:00.801 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:30.802 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:00.621 [info] {"source":"oban","duration":165,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:33:00.803 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:30.804 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:00.622 [info] {"source":"oban","duration":162,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:34:00.805 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:30.806 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:00.623 [info] {"source":"oban","duration":99,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:35:00.807 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:30.808 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:00.624 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:36:00.809 [info] {"source":"oban","duration":924,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:30.811 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:00.625 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:37:00.812 [info] {"source":"oban","duration":637,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:30.813 [info] {"source":"oban","duration":598,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:00.626 [info] {"source":"oban","duration":240,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:38:00.813 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:30.815 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:00.627 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:39:00.816 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:30.817 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:00.628 [info] {"source":"oban","duration":175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:40:00.819 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:30.820 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:00.629 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:41:00.821 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:30.822 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:00.630 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:42:00.823 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:30.824 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:00.631 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:43:00.825 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:30.826 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:00.632 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:44:00.827 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:30.828 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:00.633 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:45:00.829 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:30.830 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:00.634 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:46:00.831 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:30.832 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:00.635 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:47:00.833 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:30.834 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:00.636 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:48:00.835 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:30.836 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:00.637 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:49:00.837 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:30.838 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:00.638 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:50:00.839 [info] {"source":"oban","duration":831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:30.840 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:00.639 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:51:00.841 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:30.842 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:00.640 [info] {"source":"oban","duration":217,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:52:00.843 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:30.844 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:00.641 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:53:00.845 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:30.845 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:00.642 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:54:00.847 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:30.848 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:00.643 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:55:00.849 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:30.850 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:00.644 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:56:00.851 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:30.852 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:00.645 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:57:00.853 [info] {"source":"oban","duration":797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:30.854 [info] {"source":"oban","duration":1184,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:00.646 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:58:00.856 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:30.857 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:00.647 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:59:00.858 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:30.859 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:00.648 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:00:00.860 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:30.861 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:00.649 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:01:00.862 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:30.863 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:00.650 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:02:00.864 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:30.865 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:00.651 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:03:00.866 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:30.867 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:00.652 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:04:00.868 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:30.869 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:00.653 [info] {"source":"oban","duration":144,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:05:00.870 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:30.871 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:00.654 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:06:00.872 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:30.873 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:00.655 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:07:00.874 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:30.874 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:00.656 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:08:00.875 [info] {"source":"oban","duration":547,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:30.876 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:00.657 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:09:00.878 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:30.879 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:00.658 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:10:00.880 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:30.881 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:00.659 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:11:00.882 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:30.883 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:00.660 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:12:00.884 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:30.885 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:00.661 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:13:00.886 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:30.887 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:00.662 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:14:00.888 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:30.889 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:00.663 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:15:00.890 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:30.891 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:00.664 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:16:00.892 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:30.893 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:00.665 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:17:00.894 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:30.895 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:00.666 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:18:00.896 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:30.897 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:00.667 [info] {"source":"oban","duration":143,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:19:00.898 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:30.899 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:00.668 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:20:00.900 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:30.901 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:00.669 [info] {"source":"oban","duration":168,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:21:00.902 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:30.903 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:00.670 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:22:00.904 [info] {"source":"oban","duration":964,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:30.906 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:00.671 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:23:00.907 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:30.908 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:00.672 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:24:00.909 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:30.910 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:00.673 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:25:00.911 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:30.912 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:00.674 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:26:00.913 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:30.914 [info] {"source":"oban","duration":927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:00.675 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:27:00.916 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:30.917 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:00.676 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:28:00.918 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:30.919 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:00.677 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:29:00.920 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:30.921 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:00.678 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:30:00.922 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:30.923 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:00.679 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:31:00.926 [info] {"source":"oban","duration":2575,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:30.927 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:00.680 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:32:00.953 [info] {"source":"oban","duration":25671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:30.954 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:00.681 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:33:00.955 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:30.956 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:00.682 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:34:00.957 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:30.958 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:00.683 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:35:00.960 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:30.961 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:00.684 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:36:00.962 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:30.963 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:00.685 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:37:00.964 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:30.965 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:00.686 [info] {"source":"oban","duration":230,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:38:00.966 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:30.967 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:00.687 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:39:00.968 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:30.969 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:00.688 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:40:00.970 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:30.971 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:00.689 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:41:00.972 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:30.973 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:00.690 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:42:00.974 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:30.975 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:00.691 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:43:00.976 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:30.977 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:00.692 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:44:00.978 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:30.979 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:00.693 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:45:00.980 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:30.981 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:00.694 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:46:00.982 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:30.983 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:00.695 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:47:00.984 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:30.985 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:00.696 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:48:00.986 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:30.987 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:00.697 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:49:00.988 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:30.989 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:00.698 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:50:00.990 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:30.991 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:00.699 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:51:00.992 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:30.993 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:00.700 [info] {"source":"oban","duration":135,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:52:00.994 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:30.995 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:00.701 [info] {"source":"oban","duration":153,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:53:00.996 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:30.997 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:00.702 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:54:00.998 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:30.999 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:00.703 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:55:01.000 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:31.001 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:00.704 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:56:01.002 [info] {"source":"oban","duration":835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:31.004 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:00.705 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:57:01.005 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:31.006 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:00.706 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:58:01.007 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:31.008 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:00.707 [info] {"source":"oban","duration":225,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:59:01.010 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:31.011 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:00.708 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:00:01.012 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:31.013 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:00.709 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:01:01.014 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:31.015 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:00.710 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:02:01.016 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:31.017 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:00.711 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:03:01.018 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:31.019 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:00.712 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:04:01.020 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:31.021 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:00.713 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:05:01.022 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:31.023 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:00.714 [info] {"source":"oban","duration":167,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:06:01.024 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:31.025 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:00.715 [info] {"source":"oban","duration":134,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:07:01.026 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:31.027 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:00.716 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:08:01.028 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:31.029 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:00.717 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:09:01.030 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:31.031 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:00.718 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:10:01.032 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:31.033 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:00.719 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:11:01.034 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:31.035 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:00.720 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:12:01.036 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:31.037 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:00.721 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:13:01.038 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:31.039 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:00.722 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:14:01.040 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:31.041 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:00.723 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:15:01.042 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:31.043 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:00.724 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:16:01.044 [info] {"source":"oban","duration":804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:31.045 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:00.725 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:17:01.046 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:31.047 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:00.726 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:18:01.048 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:31.049 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:00.727 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:19:01.050 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:31.051 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:00.728 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:20:01.052 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:31.053 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:00.729 [info] {"source":"oban","duration":144,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:21:01.054 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:31.055 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:00.730 [info] {"source":"oban","duration":160,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:22:01.056 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:31.057 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:00.731 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:23:01.058 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:31.059 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:00.732 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:24:01.060 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:31.061 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:00.733 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:25:01.062 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:31.063 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:00.734 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:26:01.064 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:31.065 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:00.735 [info] {"source":"oban","duration":240,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:27:01.066 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:31.067 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:00.736 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:28:01.067 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:31.069 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:00.737 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:29:01.070 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:31.071 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:00.738 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:30:01.073 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:31.074 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:00.739 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:31:01.075 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:31.076 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:00.740 [info] {"source":"oban","duration":240,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:32:01.077 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:31.078 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:00.741 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:33:01.079 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:31.080 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:00.742 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:34:01.081 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:31.082 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:00.743 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:35:01.083 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:31.084 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:00.744 [info] {"source":"oban","duration":168,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:36:01.085 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:36:31.086 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:00.745 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:37:01.087 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:31.088 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:37:54.344 [info] GET /wp-content/plugins/hellopress/wp_filemanager.php 18:37:54.345 [debug] QUERY OK source="settings" db=0.2ms idle=1670.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:54.346 [debug] QUERY OK source="settings" db=0.1ms idle=1670.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:54.346 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:54.346 [error] #PID<0.667959.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 1) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-content/plugins/hellopress/wp_filemanager.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-content/plugins/hellopress/wp_filemanager (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/plugins/hellopress/wp_filemanager.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e077d27233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667959.0>, params: %{}, path_info: ["wp-content", "plugins", "hellopress", "wp_filemanager"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e077d27233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/wp-content/plugins/hellopress/wp_filemanager.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjthxwHFKezYMAPEvi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/plugins/hellopress/wp_filemanager.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e077d27233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-content/plugins/hellopress/wp_filemanager (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/plugins/hellopress/wp_filemanager.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e077d27233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667959.0>, params: %{}, path_info: ["wp-content", "plugins", "hellopress", "wp_filemanager"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, (truncated) 18:37:54.391 [info] GET /ws80.php 18:37:54.391 [debug] QUERY OK source="settings" db=0.2ms idle=1716.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:54.392 [debug] QUERY OK source="settings" db=0.1ms idle=1716.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:54.392 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:54.392 [error] #PID<0.667960.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 2) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /ws80.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ws80 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws80.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e085e07233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667960.0>, params: %{}, path_info: ["ws80"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e085e07233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/ws80.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjth8x_OpecP0APEwC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws80.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e085e07233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ws80 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws80.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e085e07233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667960.0>, params: %{}, path_info: ["ws80"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"acc (truncated) 18:37:54.438 [info] GET /inputs.php 18:37:54.438 [debug] QUERY OK source="settings" db=0.1ms idle=797.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:54.438 [debug] QUERY OK source="settings" db=0.1ms idle=92.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:54.439 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:54.439 [error] #PID<0.667961.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 3) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /inputs.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /inputs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/inputs.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e08ae5b233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667961.0>, params: %{}, path_info: ["inputs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e08ae5b233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/inputs.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtiH8sW-aIhYAPEwi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/inputs.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e08ae5b233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /inputs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/inputs.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e08ae5b233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667961.0>, params: %{}, path_info: ["inputs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ (truncated) 18:37:54.485 [info] GET /ioxi-o.php 18:37:54.486 [debug] QUERY OK source="settings" db=0.1ms idle=139.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:54.486 [debug] QUERY OK source="settings" db=0.0ms idle=94.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:54.486 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:54.486 [error] #PID<0.667962.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 4) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /ioxi-o.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ioxi-o (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ioxi-o.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e08feac233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667962.0>, params: %{}, path_info: ["ioxi-o"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e08feac233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/ioxi-o.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtiTTWeZ4KtkAPExC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ioxi-o.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e08feac233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ioxi-o (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ioxi-o.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e08feac233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 4, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667962.0>, params: %{}, path_info: ["ioxi-o"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ (truncated) 18:37:54.912 [info] GET /8.php 18:37:54.913 [debug] QUERY OK source="settings" db=0.1ms idle=474.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:54.913 [debug] QUERY OK source="settings" db=0.0ms idle=474.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:54.913 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:54.913 [error] #PID<0.667963.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 5) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /8.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/8.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0ba8cb233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667963.0>, params: %{}, path_info: ["8"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e0ba8cb233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/8.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtj5FfotElIYAPExi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/8.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0ba8cb233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /8 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/8.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0ba8cb233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 5, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667963.0>, params: %{}, path_info: ["8"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, (truncated) 18:37:55.189 [info] GET /jga.php 18:37:55.190 [debug] QUERY OK source="settings" db=0.1ms idle=703.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.190 [debug] QUERY OK source="settings" db=0.1ms idle=703.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.190 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:55.190 [error] #PID<0.667964.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 6) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /jga.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /jga (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/jga.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0d5a1b233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667964.0>, params: %{}, path_info: ["jga"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e0d5a1b233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/jga.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtk7IT_OSG9IAPEyC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/jga.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0d5a1b233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /jga (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/jga.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0d5a1b233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 6, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667964.0>, params: %{}, path_info: ["jga"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encod (truncated) 18:37:55.240 [info] GET /wp-admin/network/users.php 18:37:55.241 [debug] QUERY OK source="settings" db=0.1ms idle=598.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.241 [debug] QUERY OK source="settings" db=0.0ms idle=328.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.241 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:55.241 [error] #PID<0.667965.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 7) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-admin/network/users.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-admin/network/users (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-admin/network/users.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0daa50233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667965.0>, params: %{}, path_info: ["wp-admin", "network", "users"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e0daa50233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/wp-admin/network/users.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtlHQwXFb7WQAPEyi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-admin/network/users.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0daa50233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-admin/network/users (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-admin/network/users.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0daa50233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 7, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667965.0>, params: %{}, path_info: ["wp-admin", "network", "users"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} (truncated) 18:37:55.299 [info] GET /an.php 18:37:55.300 [debug] QUERY OK source="settings" db=0.1ms idle=386.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.301 [debug] QUERY OK source="settings" db=0.8ms idle=110.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.301 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:55.302 [error] #PID<0.667966.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 8) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /an.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /an (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/an.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0e0a8e233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667966.0>, params: %{}, path_info: ["an"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e0e0a8e233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/an.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtlVdL6zx4EEAPEzC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/an.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0e0a8e233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /an (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/an.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0e0a8e233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 8, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667966.0>, params: %{}, path_info: ["an"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gz (truncated) 18:37:55.349 [info] GET /wp-blog-header.php 18:37:55.350 [debug] QUERY OK source="settings" db=0.1ms idle=159.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.350 [debug] QUERY OK source="settings" db=0.0ms idle=109.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.350 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:55.350 [error] #PID<0.667967.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 9) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-blog-header.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-blog-header (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-blog-header.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0e5b03233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667967.0>, params: %{}, path_info: ["wp-blog-header"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e0e5b03233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/wp-blog-header.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtlhQhMGxd-sAPEzi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-blog-header.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0e5b03233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-blog-header (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-blog-header.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0e5b03233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 9, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667967.0>, params: %{}, path_info: ["wp-blog-header"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_i (truncated) 18:37:55.394 [info] GET /1.php 18:37:55.395 [debug] QUERY OK source="settings" db=0.1ms idle=153.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.395 [debug] QUERY OK source="settings" db=0.1ms idle=94.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.395 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:55.395 [error] #PID<0.667968.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 10) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /1.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /1 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/1.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0eab2f233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667968.0>, params: %{}, path_info: ["1"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e0eab2f233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/1.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtlsCTuA4vnQAPE0C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/1.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0eab2f233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /1 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/1.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0eab2f233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 10, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667968.0>, params: %{}, path_info: ["1"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, b (truncated) 18:37:55.437 [info] GET /admlo.php 18:37:55.438 [debug] QUERY OK source="settings" db=0.1ms idle=136.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.438 [debug] QUERY OK source="settings" db=0.0ms idle=88.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.438 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:55.438 [error] #PID<0.667969.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 11) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /admlo.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /admlo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admlo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0eeb76233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667969.0>, params: %{}, path_info: ["admlo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e0eeb76233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/admlo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtl2S6hLlGM8APE0i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admlo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0eeb76233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /admlo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/admlo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0eeb76233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 11, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667969.0>, params: %{}, path_info: ["admlo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ (truncated) 18:37:55.482 [info] GET /t.php 18:37:55.483 [debug] QUERY OK source="settings" db=0.1ms idle=132.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.483 [debug] QUERY OK source="settings" db=0.0ms idle=87.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.483 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:55.483 [error] #PID<0.667970.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 12) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /t.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /t (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/t.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0f2b99233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667970.0>, params: %{}, path_info: ["t"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e0f2b99233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/t.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtmA96hCLfD0APE1C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/t.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0f2b99233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /t (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/t.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0f2b99233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 12, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667970.0>, params: %{}, path_info: ["t"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, b (truncated) 18:37:55.578 [info] GET /lib.php 18:37:55.579 [debug] QUERY OK source="settings" db=0.1ms idle=183.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.579 [debug] QUERY OK source="settings" db=0.0ms idle=140.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.579 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:55.579 [error] #PID<0.667971.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 13) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /lib.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /lib (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/lib.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0fcc01233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667971.0>, params: %{}, path_info: ["lib"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e0fcc01233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/lib.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtmX3Tu5blVEAPE1i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/lib.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0fcc01233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /lib (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/lib.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e0fcc01233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 13, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667971.0>, params: %{}, path_info: ["lib"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-e (truncated) 18:37:55.622 [info] GET /kj.php 18:37:55.623 [debug] QUERY OK source="settings" db=0.1ms idle=184.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.623 [debug] QUERY OK source="settings" db=0.1ms idle=140.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:55.623 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:55.624 [error] #PID<0.667972.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 14) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /kj.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /kj (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/kj.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e101c3c233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667972.0>, params: %{}, path_info: ["kj"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e101c3c233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/kj.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtmidELnZbu0APE2C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/kj.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e101c3c233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /kj (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/kj.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e101c3c233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 14, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667972.0>, params: %{}, path_info: ["kj"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", (truncated) 18:37:56.260 [info] GET /new.php 18:37:56.260 [debug] QUERY OK source="settings" db=0.1ms idle=681.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.260 [debug] QUERY OK source="settings" db=0.1ms idle=681.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.261 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:56.261 [error] #PID<0.667973.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 15) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /new.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /new (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e140f40233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667973.0>, params: %{}, path_info: ["new"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e140f40233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/new.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjto6XdLZJKawAPE2i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e140f40233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /new (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/new.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e140f40233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 15, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667973.0>, params: %{}, path_info: ["new"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-e (truncated) 18:37:56.527 [info] GET /edit.php 18:37:56.528 [debug] QUERY OK source="settings" db=0.1ms idle=904.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.528 [debug] QUERY OK source="settings" db=0.0ms idle=904.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.528 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:56.528 [error] #PID<0.667974.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 16) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /edit.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /edit (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/edit.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e15b864233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667974.0>, params: %{}, path_info: ["edit"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e15b864233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/edit.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtp6KyGc_mlgAPE3C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/edit.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e15b864233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /edit (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/edit.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e15b864233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 16, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667974.0>, params: %{}, path_info: ["edit"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ { (truncated) 18:37:56.575 [info] GET /gettest.php 18:37:56.576 [debug] QUERY OK source="settings" db=0.1ms idle=932.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.576 [debug] QUERY OK source="settings" db=0.1ms idle=315.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.576 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:56.577 [error] #PID<0.667975.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 17) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /gettest.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /gettest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/gettest.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e160891233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667975.0>, params: %{}, path_info: ["gettest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e160891233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/gettest.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtqFlNwqamO0APE3i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/gettest.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e160891233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /gettest (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/gettest.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e160891233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 17, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667975.0>, params: %{}, path_info: ["gettest"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, r (truncated) 18:37:56.621 [info] GET /666.php 18:37:56.622 [debug] QUERY OK source="settings" db=0.1ms idle=361.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.622 [debug] QUERY OK source="settings" db=0.0ms idle=94.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.622 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:56.623 [error] #PID<0.667976.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 18) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /666.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /666 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/666.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1648c2233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667976.0>, params: %{}, path_info: ["666"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e1648c2233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/666.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtqQpLC4tXLEAPE4C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/666.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1648c2233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /666 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/666.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1648c2233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 18, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667976.0>, params: %{}, path_info: ["666"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-e (truncated) 18:37:56.671 [info] GET /tool.php 18:37:56.671 [debug] QUERY OK source="settings" db=0.1ms idle=95.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.672 [debug] QUERY OK source="settings" db=0.0ms idle=95.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.672 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:56.672 [error] #PID<0.667977.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 19) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /tool.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /tool (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/tool.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1698f4233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667977.0>, params: %{}, path_info: ["tool"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e1698f4233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/tool.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtqccKdREhn4APE4i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/tool.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1698f4233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /tool (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/tool.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1698f4233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 19, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667977.0>, params: %{}, path_info: ["tool"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ { (truncated) 18:37:56.769 [info] GET /wp-blogs.php 18:37:56.769 [debug] QUERY OK source="settings" db=0.1ms idle=146.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.769 [debug] QUERY OK source="settings" db=0.1ms idle=146.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.769 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:56.770 [error] #PID<0.667978.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 20) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-blogs.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-blogs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-blogs.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1739be233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667978.0>, params: %{}, path_info: ["wp-blogs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e1739be233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/wp-blogs.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtqzsoCc4ZXYAPE5C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-blogs.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1739be233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-blogs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-blogs.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1739be233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 20, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667978.0>, params: %{}, path_info: ["wp-blogs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, (truncated) 18:37:56.812 [info] GET /bgymj.php 18:37:56.812 [debug] QUERY OK source="settings" db=0.1ms idle=168.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.813 [debug] QUERY OK source="settings" db=0.1ms idle=141.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.813 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:56.813 [error] #PID<0.667979.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 21) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /bgymj.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bgymj (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bgymj.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1789e4233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667979.0>, params: %{}, path_info: ["bgymj"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e1789e4233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/bgymj.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtq-DqW48e8MAPE5i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bgymj.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1789e4233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bgymj (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bgymj.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1789e4233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 21, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667979.0>, params: %{}, path_info: ["bgymj"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ (truncated) 18:37:56.860 [info] GET /mini.php 18:37:56.861 [debug] QUERY OK source="settings" db=0.1ms idle=188.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.861 [debug] QUERY OK source="settings" db=0.1ms idle=91.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.861 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:56.861 [error] #PID<0.667980.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 22) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /mini.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /mini (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mini.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e17ca20233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667980.0>, params: %{}, path_info: ["mini"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e17ca20233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/mini.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtrJgRI5qw_8APE6C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mini.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e17ca20233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /mini (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mini.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e17ca20233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 22, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667980.0>, params: %{}, path_info: ["mini"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ { (truncated) 18:37:56.927 [info] GET /amax.php 18:37:56.928 [debug] QUERY OK source="settings" db=0.1ms idle=158.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.928 [debug] QUERY OK source="settings" db=0.1ms 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:37:56.928 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:56.928 [error] #PID<0.667981.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 23) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /amax.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /amax (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/amax.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e183a8a233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667981.0>, params: %{}, path_info: ["amax"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e183a8a233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/amax.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtrZgxQvNsP8APE6i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/amax.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e183a8a233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /amax (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/amax.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e183a8a233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 23, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667981.0>, params: %{}, path_info: ["amax"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ { (truncated) 18:37:56.972 [info] GET /mh.php 18:37:56.973 [debug] QUERY OK source="settings" db=0.1ms idle=159.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.973 [debug] QUERY OK source="settings" db=0.0ms idle=112.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:56.973 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:56.974 [error] #PID<0.667982.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 24) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /mh.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /mh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mh.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e188ac9233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667982.0>, params: %{}, path_info: ["mh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e188ac9233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/mh.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtrkRnPcvq1MAPE7C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mh.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e188ac9233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /mh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mh.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e188ac9233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 24, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667982.0>, params: %{}, path_info: ["mh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", (truncated) 18:37:57.017 [info] GET /ms.php 18:37:57.018 [debug] QUERY OK source="settings" db=0.1ms idle=156.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:57.018 [debug] QUERY OK source="settings" db=0.1ms idle=90.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:57.018 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:57.018 [error] #PID<0.667983.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 25) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /ms.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ms (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ms.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e18caed233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667983.0>, params: %{}, path_info: ["ms"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e18caed233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/ms.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtru9E--NsowAPE7i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ms.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e18caed233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ms (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ms.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e18caed233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 25, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667983.0>, params: %{}, path_info: ["ms"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", (truncated) 18:37:57.100 [info] GET /166.php 18:37:57.101 [debug] QUERY OK source="settings" db=0.1ms idle=172.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:57.101 [debug] QUERY OK source="settings" db=0.1ms idle=127.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:57.101 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:57.101 [error] #PID<0.667984.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 26) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /166.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /166 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/166.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e194b61233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667984.0>, params: %{}, path_info: ["166"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e194b61233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/166.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtsCuVgbgrrUAPE8C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/166.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e194b61233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /166 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/166.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e194b61233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 26, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667984.0>, params: %{}, path_info: ["166"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-e (truncated) 18:37:57.300 [info] GET /bmi.php 18:37:57.301 [debug] QUERY OK source="settings" db=0.1ms idle=327.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:57.301 [debug] QUERY OK source="settings" db=0.0ms idle=283.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:57.301 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:57.301 [error] #PID<0.667985.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 27) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /bmi.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bmi (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bmi.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1a8c2a233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667985.0>, params: %{}, path_info: ["bmi"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e1a8c2a233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/bmi.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtsyceeKo7scAPE8i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bmi.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1a8c2a233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bmi (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bmi.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1a8c2a233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 27, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667985.0>, params: %{}, path_info: ["bmi"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-e (truncated) 18:37:57.345 [info] GET /wp-good.php 18:37:57.346 [debug] QUERY OK source="settings" db=0.1ms idle=327.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:57.346 [debug] QUERY OK source="settings" db=0.0ms idle=245.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:57.346 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:57.346 [error] #PID<0.667986.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 28) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-good.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-good (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-good.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1adc5c233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667986.0>, params: %{}, path_info: ["wp-good"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e1adc5c233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/wp-good.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjts9Jkf4fZpQAPE9C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-good.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1adc5c233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-good (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-good.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1adc5c233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 28, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667986.0>, params: %{}, path_info: ["wp-good"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, r (truncated) 18:37:57.416 [info] GET /shell.php 18:37:57.416 [debug] QUERY OK source="settings" db=0.1ms idle=315.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:57.417 [debug] QUERY OK source="settings" db=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 [] 18:37:57.417 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:57.417 [error] #PID<0.667987.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 29) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /shell.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /shell (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/shell.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1b4c99233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667987.0>, params: %{}, path_info: ["shell"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e1b4c99233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/shell.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjttOAuH4qIxIAPE9i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/shell.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1b4c99233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /shell (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/shell.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1b4c99233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 29, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667987.0>, params: %{}, path_info: ["shell"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ (truncated) 18:37:57.880 [info] GET /dass.php 18:37:57.880 [debug] QUERY OK source="settings" db=0.1ms idle=534.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:57.880 [debug] QUERY OK source="settings" db=0.1ms idle=534.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:57.880 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:57.881 [error] #PID<0.667988.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 30) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /dass.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dass (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dass.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1e2eb0233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 30, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667988.0>, params: %{}, path_info: ["dass"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e1e2eb0233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/dass.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtu8mRK-U7qcAPE-C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dass.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1e2eb0233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 30, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /dass (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/dass.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1e2eb0233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 30, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667988.0>, params: %{}, path_info: ["dass"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ { (truncated) 18:37:57.942 [info] GET /aboute.php 18:37:57.943 [debug] QUERY OK source="settings" db=0.1ms idle=526.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:57.943 [debug] QUERY OK source="settings" db=0.0ms idle=526.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:57.943 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:57.943 [error] #PID<0.667989.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 31) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /aboute.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /aboute (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aboute.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1e8f00233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 31, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667989.0>, params: %{}, path_info: ["aboute"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e1e8f00233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/aboute.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtvLenfuckPEAPE-i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aboute.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1e8f00233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 31, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /aboute (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aboute.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1e8f00233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 31, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667989.0>, params: %{}, path_info: ["aboute"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_header (truncated) 18:37:58.027 [info] GET /press.php 18:37:58.027 [debug] QUERY OK source="settings" db=0.2ms idle=382.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:58.027 [debug] QUERY OK source="settings" db=0.1ms idle=147.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:58.027 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:58.028 [error] #PID<0.667990.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 32) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /press.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /press (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/press.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1f1f7f233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 32, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667990.0>, params: %{}, path_info: ["press"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e1f1f7f233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/press.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtvfor3v_Q4cAPE_C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/press.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1f1f7f233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 32, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /press (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/press.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1f1f7f233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 32, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667990.0>, params: %{}, path_info: ["press"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ (truncated) 18:37:58.109 [info] GET /wp-png.php 18:37:58.109 [debug] QUERY OK source="settings" db=0.3ms idle=228.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:58.110 [debug] QUERY OK source="settings" db=0.1ms idle=166.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:58.110 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:58.110 [error] #PID<0.667991.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 33) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-png.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-png (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-png.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1f9fc6233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 33, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667991.0>, params: %{}, path_info: ["wp-png"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e1f9fc6233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/wp-png.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtvzMuevUbi4APE_i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-png.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1f9fc6233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 33, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-png (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-png.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1f9fc6233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 33, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667991.0>, params: %{}, path_info: ["wp-png"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_header (truncated) 18:37:58.159 [info] GET /s.php 18:37:58.190 [debug] QUERY OK source="settings" db=30.5ms idle=216.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:58.240 [debug] QUERY OK source="settings" db=49.6ms idle=162.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:58.240 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:58.253 [error] #PID<0.667992.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 34) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /s.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /s (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1feffd233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 34, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667992.0>, params: %{}, path_info: ["s"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e1feffd233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/s.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtv_MiF4TkwcAPFAC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1feffd233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 34, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /s (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/s.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e1feffd233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 34, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667992.0>, params: %{}, path_info: ["s"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, b (truncated) 18:37:58.432 [info] GET /first.php 18:37:58.433 [debug] QUERY OK source="settings" db=0.8ms idle=404.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:58.434 [debug] QUERY OK source="settings" db=0.8ms idle=323.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:58.434 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:58.434 [error] #PID<0.667993.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 35) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /first.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /first (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/first.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2198fc233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 35, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667993.0>, params: %{}, path_info: ["first"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e2198fc233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/first.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtxAM3mVxHJUAPFAi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/first.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2198fc233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 35, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /first (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/first.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2198fc233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 35, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667993.0>, params: %{}, path_info: ["first"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ (truncated) 18:37:58.741 [info] GET //wp-links-opml.php 18:37:58.741 [debug] QUERY OK source="settings" db=0.2ms idle=551.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:58.742 [debug] QUERY OK source="settings" db=0.1ms idle=501.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:58.742 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:58.742 [error] #PID<0.667994.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 36) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET //wp-links-opml.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-links-opml (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp-links-opml.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e238a4d233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 36, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667994.0>, params: %{}, path_info: ["wp-links-opml"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e238a4d233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "//wp-links-opml.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtyJ56pBDw4oAPFBC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp-links-opml.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e238a4d233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 36, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-links-opml (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "//wp-links-opml.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e238a4d233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 36, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667994.0>, params: %{}, path_info: ["wp-links-opml"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_i (truncated) 18:37:58.826 [info] GET /ms-edit.php 18:37:58.826 [debug] QUERY OK source="settings" db=0.1ms idle=393.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:58.826 [debug] QUERY OK source="settings" db=0.1ms idle=392.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:58.826 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:58.827 [error] #PID<0.667995.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 37) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /ms-edit.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ms-edit (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ms-edit.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e241a81233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 37, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667995.0>, params: %{}, path_info: ["ms-edit"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e241a81233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/ms-edit.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjtyeIXN_TpYAAPFBi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ms-edit.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e241a81233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 37, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ms-edit (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ms-edit.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e241a81233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 37, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667995.0>, params: %{}, path_info: ["ms-edit"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, r (truncated) 18:37:59.373 [info] GET /asd.php 18:37:59.373 [debug] QUERY OK source="settings" db=0.2ms idle=726.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:59.374 [debug] QUERY OK source="settings" db=0.0ms idle=632.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:59.374 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:59.374 [error] #PID<0.667996.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 38) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /asd.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /asd (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/asd.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e278c92233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 38, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667996.0>, params: %{}, path_info: ["asd"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e278c92233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/asd.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt0gm5nFp8BAAPFCC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/asd.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e278c92233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 38, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /asd (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/asd.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e278c92233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 38, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667996.0>, params: %{}, path_info: ["asd"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-e (truncated) 18:37:59.712 [info] GET /public/vx.php 18:37:59.713 [debug] QUERY OK source="settings" db=0.1ms idle=886.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:59.713 [debug] QUERY OK source="settings" db=0.1ms idle=886.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:59.713 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:59.713 [error] #PID<0.667997.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 39) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /public/vx.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /public/vx (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/vx.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e29add1233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 39, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667997.0>, params: %{}, path_info: ["public", "vx"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e29add1233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/public/vx.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt1xhx5ZGUaAAPFCi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/vx.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e29add1233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 39, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /public/vx (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/public/vx.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e29add1233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 39, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667997.0>, params: %{}, path_info: ["public", "vx"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_c (truncated) 18:37:59.767 [info] GET /wp-content/radio.php 18:37:59.767 [debug] QUERY OK source="settings" db=0.2ms idle=393.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:59.768 [debug] QUERY OK source="settings" db=0.1ms idle=393.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:59.768 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:59.768 [error] #PID<0.667998.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 40) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-content/radio.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-content/radio (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/radio.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e29fdf1233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 40, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667998.0>, params: %{}, path_info: ["wp-content", "radio"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e29fdf1233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/wp-content/radio.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt1-gRyCiqyEAPFDC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/radio.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e29fdf1233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 40, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-content/radio (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/radio.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e29fdf1233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 40, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667998.0>, params: %{}, path_info: ["wp-content", "radio"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_st (truncated) 18:37:59.810 [info] GET /wp-access.php 18:37:59.810 [debug] QUERY OK source="settings" db=0.1ms idle=162.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:59.810 [debug] QUERY OK source="settings" db=0.1ms idle=97.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:59.810 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:59.811 [error] #PID<0.667999.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 41) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-access.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-access (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-access.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2a3e15233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 41, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667999.0>, params: %{}, path_info: ["wp-access"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e2a3e15233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/wp-access.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt2IuxnJFeBkAPFDi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-access.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2a3e15233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 41, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-access (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-access.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2a3e15233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 41, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.667999.0>, params: %{}, path_info: ["wp-access"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies (truncated) 18:37:59.855 [info] GET /wp-admin/css/bolt.php 18:37:59.855 [debug] QUERY OK source="settings" db=0.1ms idle=141.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:59.855 [debug] QUERY OK source="settings" db=0.1ms idle=87.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:59.855 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:59.856 [error] #PID<0.668000.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 42) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-admin/css/bolt.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-admin/css/bolt (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-admin/css/bolt.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2a8e42233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 42, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668000.0>, params: %{}, path_info: ["wp-admin", "css", "bolt"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e2a8e42233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/wp-admin/css/bolt.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt2TdvGiGXPkAPFEC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-admin/css/bolt.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2a8e42233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 42, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-admin/css/bolt (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-admin/css/bolt.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2a8e42233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 42, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668000.0>, params: %{}, path_info: ["wp-admin", "css", "bolt"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, (truncated) 18:37:59.949 [info] GET /cu.php 18:37:59.950 [debug] QUERY OK source="settings" db=0.1ms 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 [] 18:37:59.950 [debug] QUERY OK source="settings" db=0.1ms idle=139.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:37:59.950 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:37:59.950 [error] #PID<0.668001.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 43) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /cu.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /cu (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cu.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2b1e8e233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 43, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668001.0>, params: %{}, path_info: ["cu"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e2b1e8e233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/cu.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt2qDNUhnyQwAPFEi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cu.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2b1e8e233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 43, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /cu (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/cu.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2b1e8e233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 43, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668001.0>, params: %{}, path_info: ["cu"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", (truncated) 18:38:00.007 [info] GET /bolt.php 18:38:00.007 [debug] QUERY OK source="settings" db=0.3ms idle=196.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.008 [debug] QUERY OK source="settings" db=0.1ms idle=152.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:00.008 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:00.008 [error] #PID<0.668002.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 44) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /bolt.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bolt (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bolt.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2b7ecc233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 44, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668002.0>, params: %{}, path_info: ["bolt"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e2b7ecc233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/bolt.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt23ubAbC1PYAPFFC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bolt.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2b7ecc233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 44, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bolt (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bolt.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2b7ecc233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 44, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668002.0>, params: %{}, path_info: ["bolt"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ { (truncated) 18:38:00.354 [info] GET /900.php 18:38:00.355 [debug] QUERY OK source="settings" db=0.3ms idle=499.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:00.355 [debug] QUERY OK source="settings" db=0.1ms idle=405.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:00.355 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:00.356 [error] #PID<0.668003.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 45) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /900.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /900 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/900.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2da844233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 45, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668003.0>, params: %{}, path_info: ["900"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e2da844233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/900.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt4Kk3xJIo8gAPFFi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/900.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2da844233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 45, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /900 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/900.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2da844233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 45, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668003.0>, params: %{}, path_info: ["900"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-e (truncated) 18:38:00.593 [info] GET /a5.php 18:38:00.593 [debug] QUERY OK source="settings" db=0.2ms idle=642.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.594 [debug] QUERY OK source="settings" db=0.2ms idle=586.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.594 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:00.594 [error] #PID<0.668004.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 46) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /a5.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /a5 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/a5.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2f297a233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 46, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668004.0>, params: %{}, path_info: ["a5"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e2f297a233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/a5.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt5DcnO3XJKMAPFGC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/a5.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2f297a233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 46, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /a5 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/a5.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2f297a233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 46, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668004.0>, params: %{}, path_info: ["a5"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", (truncated) 18:38:00.655 [info] GET /term.php 18:38:00.655 [debug] QUERY OK source="settings" db=0.1ms idle=300.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.655 [debug] QUERY OK source="settings" db=0.1ms idle=300.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.656 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:00.656 [error] #PID<0.668005.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 47) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /term.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /term (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/term.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2f89bd233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 47, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668005.0>, params: %{}, path_info: ["term"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e2f89bd233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/term.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt5SNgc0Ryw4APFGi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/term.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2f89bd233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 47, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /term (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/term.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2f89bd233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 47, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668005.0>, params: %{}, path_info: ["term"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ { (truncated) 18:38:00.698 [info] GET /b.php 18:38:00.699 [debug] QUERY OK source="settings" db=0.2ms idle=105.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.699 [debug] QUERY OK source="settings" db=0.1ms idle=105.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:00.699 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:00.700 [error] #PID<0.668006.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 48) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /b.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /b (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/b.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2fc9e7233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 48, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668006.0>, params: %{}, path_info: ["b"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e2fc9e7233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/b.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt5cknuNIs1oAPFHC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/b.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2fc9e7233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 48, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /b (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/b.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e2fc9e7233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 48, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668006.0>, params: %{}, path_info: ["b"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, b (truncated) 18:38:00.746 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:38:01.089 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:38:01.158 [info] GET /sid3.php 18:38:01.158 [debug] QUERY OK source="settings" db=0.1ms idle=502.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:01.159 [debug] QUERY OK source="settings" db=0.1ms idle=459.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.159 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:01.159 [error] #PID<0.668007.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 49) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /sid3.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sid3 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sid3.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e32ac60233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 49, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668007.0>, params: %{}, path_info: ["sid3"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e32ac60233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/sid3.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt7KJ5yWP8Z4APFHi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sid3.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e32ac60233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 49, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sid3 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sid3.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e32ac60233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 49, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668007.0>, params: %{}, path_info: ["sid3"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ { (truncated) 18:38:01.223 [info] GET /ccs.php 18:38:01.224 [debug] QUERY OK source="settings" db=0.1ms idle=524.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.224 [debug] QUERY OK source="settings" db=0.1ms idle=477.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.224 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:01.224 [error] #PID<0.668008.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 50) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /ccs.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ccs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ccs.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e331caa233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 50, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668008.0>, params: %{}, path_info: ["ccs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e331caa233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/ccs.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt7Zvj4l29FgAPFIC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ccs.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e331caa233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 50, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ccs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ccs.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e331caa233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 50, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668008.0>, params: %{}, path_info: ["ccs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-e (truncated) 18:38:01.292 [info] GET /aboutc.php 18:38:01.292 [debug] QUERY OK source="settings" db=0.1ms idle=203.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.292 [debug] QUERY OK source="settings" db=0.1ms idle=134.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:01.292 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:01.293 [error] #PID<0.668009.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 51) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /aboutc.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /aboutc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aboutc.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e338d12233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 51, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668009.0>, params: %{}, path_info: ["aboutc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e338d12233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/aboutc.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt7qE4van4sgAPFIi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aboutc.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e338d12233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 51, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /aboutc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/aboutc.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e338d12233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 51, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668009.0>, params: %{}, path_info: ["aboutc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_header (truncated) 18:38:01.334 [info] GET /fs.php 18:38:01.334 [debug] QUERY OK source="settings" db=0.1ms idle=175.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.335 [debug] QUERY OK source="settings" db=0.1ms idle=110.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.335 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:01.335 [error] #PID<0.668010.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 52) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /fs.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /fs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/fs.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e33cd3f233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 52, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668010.0>, params: %{}, path_info: ["fs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e33cd3f233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/fs.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt70Gd2iiH9AAPFJC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/fs.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e33cd3f233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 52, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /fs (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/fs.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e33cd3f233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 52, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668010.0>, params: %{}, path_info: ["fs"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", (truncated) 18:38:01.631 [info] GET /ws82.php 18:38:01.632 [debug] QUERY OK source="settings" db=0.1ms idle=407.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:01.632 [debug] QUERY OK source="settings" db=0.1ms idle=339.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:01.632 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:01.633 [error] #PID<0.668013.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 53) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /ws82.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ws82 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws82.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e35ae7b233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 53, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668013.0>, params: %{}, path_info: ["ws82"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e35ae7b233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/ws82.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt87EfBb4S7UAPFKC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws82.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e35ae7b233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 53, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ws82 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws82.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e35ae7b233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 53, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668013.0>, params: %{}, path_info: ["ws82"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ { (truncated) 18:38:02.196 [info] GET /wp-admin/network/edit.php 18:38:02.197 [debug] QUERY OK source="settings" db=0.1ms idle=862.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.197 [debug] QUERY OK source="settings" db=0.1ms idle=862.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.197 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:02.197 [error] #PID<0.668014.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 54) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-admin/network/edit.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-admin/network/edit (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-admin/network/edit.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3928f5233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 54, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668014.0>, params: %{}, path_info: ["wp-admin", "network", "edit"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e3928f5233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/wp-admin/network/edit.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt_Bvj4YMs10APFKi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-admin/network/edit.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3928f5233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 54, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-admin/network/edit (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-admin/network/edit.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3928f5233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 54, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668014.0>, params: %{}, path_info: ["wp-admin", "network", "edit"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} (truncated) 18:38:02.271 [info] GET /ws48.php 18:38:02.272 [debug] QUERY OK source="settings" db=0.1ms idle=639.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.272 [debug] QUERY OK source="settings" db=0.0ms idle=639.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:02.272 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:02.272 [error] #PID<0.668015.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 55) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /ws48.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ws48 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws48.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e399977233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 55, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668015.0>, params: %{}, path_info: ["ws48"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e399977233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/ws48.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt_TmJMRUMIcAPFLC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws48.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e399977233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 55, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ws48 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws48.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e399977233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 55, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668015.0>, params: %{}, path_info: ["ws48"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ { (truncated) 18:38:02.313 [info] GET /wp-the.php 18:38:02.314 [debug] QUERY OK source="settings" db=0.1ms idle=663.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.314 [debug] QUERY OK source="settings" db=0.0ms idle=116.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:02.314 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:02.314 [error] #PID<0.668016.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 56) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-the.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-the (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-the.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e39e9be233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 56, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668016.0>, params: %{}, path_info: ["wp-the"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e39e9be233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/wp-the.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt_dmsU0215gAPFLi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-the.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e39e9be233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 56, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-the (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-the.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e39e9be233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 56, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668016.0>, params: %{}, path_info: ["wp-the"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_header (truncated) 18:38:02.358 [info] GET /wp5.php 18:38:02.358 [debug] QUERY OK source="settings" db=0.1ms idle=160.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.358 [debug] QUERY OK source="settings" db=0.1ms idle=86.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:02.358 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:02.359 [error] #PID<0.668017.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 57) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp5.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp5 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp5.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3a29f0233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 57, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668017.0>, params: %{}, path_info: ["wp5"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e3a29f0233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/wp5.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjt_oOW_S1F6MAPFMC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp5.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3a29f0233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 57, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp5 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp5.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3a29f0233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 57, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668017.0>, params: %{}, path_info: ["wp5"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-e (truncated) 18:38:02.513 [info] GET /xxx.php 18:38:02.514 [debug] QUERY OK source="settings" db=0.1ms idle=241.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.514 [debug] QUERY OK source="settings" db=0.0ms idle=200.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.514 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:02.515 [error] #PID<0.668018.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 58) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /xxx.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /xxx (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xxx.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3b2aa5233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 58, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668018.0>, params: %{}, path_info: ["xxx"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e3b2aa5233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/xxx.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuANXtLghHOQAPFMi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xxx.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3b2aa5233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 58, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /xxx (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/xxx.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3b2aa5233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 58, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668018.0>, params: %{}, path_info: ["xxx"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-e (truncated) 18:38:02.779 [info] GET /wen.php 18:38:02.779 [debug] QUERY OK source="settings" db=0.1ms idle=420.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.779 [debug] QUERY OK source="settings" db=0.1ms idle=420.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.780 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:02.780 [error] #PID<0.668019.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 59) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wen.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wen (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wen.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3ccbe5233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 59, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668019.0>, params: %{}, path_info: ["wen"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e3ccbe5233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/wen.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuBMnVj0gtt8APFNC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wen.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3ccbe5233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 59, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wen (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wen.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3ccbe5233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 59, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668019.0>, params: %{}, path_info: ["wen"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-e (truncated) 18:38:02.856 [info] GET /bnm.php 18:38:02.856 [debug] QUERY OK source="settings" db=0.1ms idle=341.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.856 [debug] QUERY OK source="settings" db=0.1ms idle=342.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.856 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:02.857 [error] #PID<0.668020.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 60) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /bnm.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bnm (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bnm.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3d4c47233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 60, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668020.0>, params: %{}, path_info: ["bnm"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e3d4c47233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/bnm.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuBe9ka31vaYAPFNi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bnm.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3d4c47233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 60, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /bnm (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/bnm.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3d4c47233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 60, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668020.0>, params: %{}, path_info: ["bnm"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-e (truncated) 18:38:02.960 [info] GET /wp-content/plugins/hellopress/wp_filemanager.php 18:38:02.960 [debug] QUERY OK source="settings" db=0.2ms idle=309.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:02.961 [debug] QUERY OK source="settings" db=0.1ms idle=181.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:02.961 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:02.961 [error] #PID<0.668021.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 61) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-content/plugins/hellopress/wp_filemanager.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-content/plugins/hellopress/wp_filemanager (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/plugins/hellopress/wp_filemanager.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3decae233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 61, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668021.0>, params: %{}, path_info: ["wp-content", "plugins", "hellopress", "wp_filemanager"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e3decae233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/wp-content/plugins/hellopress/wp_filemanager.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuB31ATMC5KIAPFOC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/plugins/hellopress/wp_filemanager.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3decae233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 61, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-content/plugins/hellopress/wp_filemanager (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-content/plugins/hellopress/wp_filemanager.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3decae233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 61, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668021.0>, params: %{}, path_info: ["wp-content", "plugins", "hellopress", "wp_filemanager"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoi (truncated) 18:38:03.006 [info] GET /byypas.php 18:38:03.007 [debug] QUERY OK source="settings" db=0.2ms idle=226.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:03.007 [debug] QUERY OK source="settings" db=0.1ms idle=150.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:03.007 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:03.008 [error] #PID<0.668022.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 62) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /byypas.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /byypas (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/byypas.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3e3ce6233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 62, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668022.0>, params: %{}, path_info: ["byypas"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e3e3ce6233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/byypas.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuCC2fxuK52UAPFOi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/byypas.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3e3ce6233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 62, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /byypas (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/byypas.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3e3ce6233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 62, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668022.0>, params: %{}, path_info: ["byypas"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_header (truncated) 18:38:03.067 [info] GET /hplfuns.php 18:38:03.067 [debug] QUERY OK source="settings" db=0.2ms idle=210.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:03.067 [debug] QUERY OK source="settings" db=0.1ms idle=106.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:03.068 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:03.068 [error] #PID<0.668023.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 63) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /hplfuns.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /hplfuns (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/hplfuns.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3e9d36233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 63, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668023.0>, params: %{}, path_info: ["hplfuns"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e3e9d36233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/hplfuns.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuCRRSs58jSMAPFPC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/hplfuns.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3e9d36233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 63, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /hplfuns (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/hplfuns.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3e9d36233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 63, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668023.0>, params: %{}, path_info: ["hplfuns"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, r (truncated) 18:38:03.121 [info] GET /grsiuk.php 18:38:03.122 [debug] QUERY OK source="settings" db=0.2ms idle=160.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:03.122 [debug] QUERY OK source="settings" db=0.0ms idle=115.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:03.122 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:03.122 [error] #PID<0.668024.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 64) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /grsiuk.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /grsiuk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/grsiuk.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3eed75233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 64, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668024.0>, params: %{}, path_info: ["grsiuk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e3eed75233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/grsiuk.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuCeRQ0Ql6dMAPFPi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/grsiuk.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3eed75233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 64, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /grsiuk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/grsiuk.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3eed75233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 64, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668024.0>, params: %{}, path_info: ["grsiuk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_header (truncated) 18:38:03.171 [info] GET /gifclass.php 18:38:03.171 [debug] QUERY OK source="settings" db=0.2ms idle=164.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:03.172 [debug] QUERY OK source="settings" db=0.0ms idle=104.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:03.172 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:03.172 [error] #PID<0.668025.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 65) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /gifclass.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /gifclass (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/gifclass.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3f3db5233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 65, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668025.0>, params: %{}, path_info: ["gifclass"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e3f3db5233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/gifclass.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuCqI46_B9ksAPFQC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/gifclass.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3f3db5233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 65, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /gifclass (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/gifclass.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3f3db5233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 65, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668025.0>, params: %{}, path_info: ["gifclass"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, (truncated) 18:38:03.217 [info] GET /a4.php 18:38:03.218 [debug] QUERY OK source="settings" db=0.1ms idle=149.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:03.218 [debug] QUERY OK source="settings" db=0.1ms idle=96.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:03.218 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:03.218 [error] #PID<0.668026.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 66) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /a4.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /a4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/a4.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3f8e03233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 66, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668026.0>, params: %{}, path_info: ["a4"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e3f8e03233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/a4.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuC1JnNk2gfAAPFQi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/a4.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3f8e03233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 66, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /a4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/a4.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e3f8e03233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 66, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668026.0>, params: %{}, path_info: ["a4"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", (truncated) 18:38:03.534 [info] GET /domains.php 18:38:03.535 [debug] QUERY OK source="settings" db=0.1ms idle=412.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:03.535 [debug] QUERY OK source="settings" db=0.1ms idle=363.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:03.535 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:03.536 [error] #PID<0.668027.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 67) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /domains.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /domains (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/domains.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e418fac233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 67, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668027.0>, params: %{}, path_info: ["domains"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e418fac233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/domains.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuEAy19BxEEMAPFRC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/domains.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e418fac233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 67, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /domains (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/domains.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e418fac233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 67, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668027.0>, params: %{}, path_info: ["domains"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, r (truncated) 18:38:03.816 [info] GET /tt.php 18:38:03.816 [debug] QUERY OK source="settings" db=0.1ms idle=598.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:03.817 [debug] QUERY OK source="settings" db=0.1ms idle=598.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:03.817 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:03.817 [error] #PID<0.668028.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 68) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /tt.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /tt (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/tt.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4348de233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 68, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668028.0>, params: %{}, path_info: ["tt"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e4348de233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/tt.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuFD6NTWF9B0APFRi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/tt.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4348de233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 68, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /tt (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/tt.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4348de233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 68, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668028.0>, params: %{}, path_info: ["tt"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", (truncated) 18:38:03.862 [info] GET /abc.php 18:38:03.863 [debug] QUERY OK source="settings" db=0.1ms idle=327.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:03.863 [debug] QUERY OK source="settings" db=0.0ms idle=327.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:03.863 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:03.863 [error] #PID<0.668029.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 69) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /abc.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /abc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/abc.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e438926233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 69, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668029.0>, params: %{}, path_info: ["abc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e438926233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/abc.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuFO6ysvzM4MAPFSC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/abc.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e438926233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 69, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /abc (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/abc.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e438926233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 69, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668029.0>, params: %{}, path_info: ["abc"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-e (truncated) 18:38:04.330 [info] GET /yw5bi63u.php 18:38:04.330 [debug] QUERY OK source="settings" db=0.2ms idle=678.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:04.330 [debug] QUERY OK source="settings" db=0.1ms idle=513.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.331 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:04.331 [error] #PID<0.668030.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 70) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /yw5bi63u.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /yw5bi63u (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/yw5bi63u.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e467b5c233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 70, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668030.0>, params: %{}, path_info: ["yw5bi63u"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e467b5c233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/yw5bi63u.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuG-ZPFHH9sgAPFSi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/yw5bi63u.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e467b5c233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 70, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /yw5bi63u (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/yw5bi63u.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e467b5c233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 70, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668030.0>, params: %{}, path_info: ["yw5bi63u"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, (truncated) 18:38:04.677 [info] GET /222.php 18:38:04.678 [debug] QUERY OK source="settings" db=0.2ms idle=815.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.678 [debug] QUERY OK source="settings" db=0.1ms idle=815.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.678 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:04.679 [error] #PID<0.668031.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 71) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /222.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /222 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/222.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e48ace4233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 71, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668031.0>, params: %{}, path_info: ["222"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e48ace4233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/222.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuIRLe1_y-pYAPFTC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/222.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e48ace4233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 71, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /222 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/222.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e48ace4233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 71, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668031.0>, params: %{}, path_info: ["222"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-e (truncated) 18:38:04.723 [info] GET /ws57.php 18:38:04.724 [debug] QUERY OK source="settings" db=0.1ms idle=393.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.724 [debug] QUERY OK source="settings" db=0.1ms idle=393.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:04.724 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:04.725 [error] #PID<0.668032.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 72) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /ws57.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ws57 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws57.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e48fd1c233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 72, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668032.0>, params: %{}, path_info: ["ws57"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e48fd1c233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/ws57.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuIcNi5B0qcQAPFTi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws57.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e48fd1c233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 72, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ws57 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws57.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e48fd1c233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 72, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668032.0>, params: %{}, path_info: ["ws57"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ { (truncated) 18:38:04.773 [info] GET /8573.php 18:38:04.773 [debug] QUERY OK source="settings" db=0.1ms idle=120.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:04.773 [debug] QUERY OK source="settings" db=0.1ms idle=95.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.774 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:04.774 [error] #PID<0.668033.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 73) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /8573.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /8573 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/8573.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e494d4a233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 73, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668033.0>, params: %{}, path_info: ["8573"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e494d4a233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/8573.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuIoCr8vWXWUAPFUC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/8573.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e494d4a233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 73, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /8573 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/8573.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e494d4a233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 73, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668033.0>, params: %{}, path_info: ["8573"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ { (truncated) 18:38:04.851 [info] GET /ws66.php 18:38:04.852 [debug] QUERY OK source="settings" db=0.1ms idle=173.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.852 [debug] QUERY OK source="settings" db=0.1ms idle=128.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.852 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:04.852 [error] #PID<0.668034.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 74) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /ws66.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ws66 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws66.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e49cdba233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 74, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668034.0>, params: %{}, path_info: ["ws66"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e49cdba233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/ws66.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuI6u49H3U3AAPFUi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws66.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e49cdba233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 74, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ws66 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws66.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e49cdba233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 74, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668034.0>, params: %{}, path_info: ["ws66"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ { (truncated) 18:38:04.895 [info] GET /66.php 18:38:04.895 [debug] QUERY OK source="settings" db=0.2ms idle=170.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.895 [debug] QUERY OK source="settings" db=0.1ms idle=122.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.896 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:04.896 [error] #PID<0.668035.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 75) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /66.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /66 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/66.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4a0ded233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 75, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668035.0>, params: %{}, path_info: ["66"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e4a0ded233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/66.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuJFFiHsSyQYAPFVC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/66.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4a0ded233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 75, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /66 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/66.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4a0ded233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 75, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668035.0>, params: %{}, path_info: ["66"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", (truncated) 18:38:04.947 [info] GET /wp-p2r3q9c8k4.php 18:38:04.948 [debug] QUERY OK source="settings" db=0.3ms idle=174.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.948 [debug] QUERY OK source="settings" db=0.1ms idle=96.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:04.948 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:04.949 [error] #PID<0.668036.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 76) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /wp-p2r3q9c8k4.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-p2r3q9c8k4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-p2r3q9c8k4.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4a5e26233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 76, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668036.0>, params: %{}, path_info: ["wp-p2r3q9c8k4"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e4a5e26233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/wp-p2r3q9c8k4.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuJRr78NzcrEAPFVi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-p2r3q9c8k4.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4a5e26233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 76, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /wp-p2r3q9c8k4 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/wp-p2r3q9c8k4.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4a5e26233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 76, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668036.0>, params: %{}, path_info: ["wp-p2r3q9c8k4"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {1 (truncated) 18:38:05.141 [info] GET /ws88.php 18:38:05.142 [debug] QUERY OK source="settings" db=0.2ms idle=289.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.142 [debug] QUERY OK source="settings" db=0.1ms idle=247.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:05.143 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:05.143 [error] #PID<0.668037.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 77) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /ws88.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ws88 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws88.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4b8f03233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 77, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668037.0>, params: %{}, path_info: ["ws88"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e4b8f03233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/ws88.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuJ_4pK_tllkAPFWC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws88.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4b8f03233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 77, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ws88 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ws88.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4b8f03233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 77, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668037.0>, params: %{}, path_info: ["ws88"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ { (truncated) 18:38:05.186 [info] GET /mode.php 18:38:05.186 [debug] QUERY OK source="settings" db=0.1ms 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:38:05.187 [debug] QUERY OK source="settings" db=0.1ms idle=238.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:05.187 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:05.187 [error] #PID<0.668038.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 78) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /mode.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /mode (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mode.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4bdf38233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 78, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668038.0>, params: %{}, path_info: ["mode"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e4bdf38233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/mode.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuKKgFi_uEfsAPFWi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mode.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4bdf38233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 78, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /mode (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mode.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4bdf38233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 78, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668038.0>, params: %{}, path_info: ["mode"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ { (truncated) 18:38:05.231 [info] GET /set.php 18:38:05.231 [debug] QUERY OK source="settings" db=0.1ms idle=282.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.232 [debug] QUERY OK source="settings" db=0.0ms idle=89.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.232 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:05.232 [error] #PID<0.668039.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 79) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /set.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /set (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/set.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4c1f64233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 79, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668039.0>, params: %{}, path_info: ["set"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e4c1f64233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/set.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuKVMzcgxQ5IAPFXC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/set.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4c1f64233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 79, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /set (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/set.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4c1f64233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 79, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668039.0>, params: %{}, path_info: ["set"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-e (truncated) 18:38:05.272 [info] GET /hroxw.php 18:38:05.273 [debug] QUERY OK source="settings" db=0.1ms 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:38:05.273 [debug] QUERY OK source="settings" db=0.1ms idle=86.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.273 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:05.273 [error] #PID<0.668040.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 80) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /hroxw.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /hroxw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/hroxw.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4c6f96233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 80, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668040.0>, params: %{}, path_info: ["hroxw"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e4c6f96233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/hroxw.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuKfF1VC3SFcAPFXi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/hroxw.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4c6f96233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 80, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /hroxw (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/hroxw.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4c6f96233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 80, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668040.0>, params: %{}, path_info: ["hroxw"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ (truncated) 18:38:05.316 [info] GET /ok.php 18:38:05.316 [debug] QUERY OK source="settings" db=0.2ms idle=129.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.317 [debug] QUERY OK source="settings" db=0.0ms idle=85.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.317 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:05.317 [error] #PID<0.668041.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 81) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /ok.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ok (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ok.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4cafbe233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 81, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668041.0>, params: %{}, path_info: ["ok"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e4cafbe233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/ok.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuKpeQ1xZQqsAPFYC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ok.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4cafbe233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 81, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ok (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ok.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4cafbe233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 81, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668041.0>, params: %{}, path_info: ["ok"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", (truncated) 18:38:05.392 [info] GET /zoo.php 18:38:05.393 [debug] QUERY OK source="settings" db=0.3ms idle=161.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.394 [debug] QUERY OK source="settings" db=0.1ms idle=120.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.394 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:05.394 [error] #PID<0.668042.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 82) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /zoo.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /zoo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/zoo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4d2803233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 82, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668042.0>, params: %{}, path_info: ["zoo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e4d2803233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/zoo.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuK7wNRFspHMAPFYi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/zoo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4d2803233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 82, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /zoo (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/zoo.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4d2803233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 82, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668042.0>, params: %{}, path_info: ["zoo"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-e (truncated) 18:38:05.458 [info] GET /gaza.php 18:38:05.459 [debug] QUERY OK source="settings" db=0.1ms idle=185.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:05.459 [debug] QUERY OK source="settings" db=0.1ms idle=142.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.459 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:05.460 [error] #PID<0.668043.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 83) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /gaza.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /gaza (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/gaza.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4d8853233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 83, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668043.0>, params: %{}, path_info: ["gaza"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e4d8853233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/gaza.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuLLc2d6nA94APFZC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/gaza.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4d8853233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 83, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /gaza (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/gaza.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4d8853233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 83, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668043.0>, params: %{}, path_info: ["gaza"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ { (truncated) 18:38:05.722 [info] GET /retu11.PhP7 18:38:05.723 [debug] QUERY OK source="settings" db=0.1ms idle=329.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.723 [debug] QUERY OK source="settings" db=0.1ms idle=329.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.723 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:05.723 [error] #PID<0.668044.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 84) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /retu11.PhP7 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /retu11 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/retu11.PhP7", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4f299d233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 84, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668044.0>, params: %{}, path_info: ["retu11"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e4f299d233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/retu11.PhP7", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuMKcYAje37MAPFZi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/retu11.PhP7", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4f299d233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 84, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /retu11 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/retu11.PhP7", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4f299d233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 84, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668044.0>, params: %{}, path_info: ["retu11"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_h (truncated) 18:38:05.765 [info] GET /ioxi001.PhP7 18:38:05.766 [debug] QUERY OK source="settings" db=0.1ms idle=306.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.766 [debug] QUERY OK source="settings" db=0.0ms idle=306.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.766 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:05.766 [error] #PID<0.668045.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 85) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /ioxi001.PhP7 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ioxi001 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ioxi001.PhP7", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4f79df233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 85, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668045.0>, params: %{}, path_info: ["ioxi001"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e4f79df233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/ioxi001.PhP7", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuMUo3Gy8jfkAPFaC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ioxi001.PhP7", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4f79df233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 85, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /ioxi001 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/ioxi001.PhP7", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4f79df233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 85, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668045.0>, params: %{}, path_info: ["ioxi001"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, (truncated) 18:38:05.813 [info] GET /mk.php 18:38:05.814 [debug] QUERY OK source="settings" db=0.1ms idle=159.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:05.814 [debug] QUERY OK source="settings" db=0.1ms idle=91.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:05.814 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:05.814 [error] #PID<0.668046.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 86) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /mk.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /mk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mk.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4fca1c233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 86, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668046.0>, params: %{}, path_info: ["mk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e4fca1c233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/mk.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuMgHN9iMY8YAPFai"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mk.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4fca1c233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 86, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /mk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/mk.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e4fca1c233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 86, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668046.0>, params: %{}, path_info: ["mk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", (truncated) 18:38:05.962 [info] GET /fm.php 18:38:05.963 [debug] QUERY OK source="settings" db=0.2ms idle=239.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_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:05.963 [debug] QUERY OK source="settings" db=0.0ms idle=197.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 18:38:05.963 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 18:38:05.964 [error] #PID<0.668047.0> running PinchflatWeb.Endpoint (connection #PID<0.667958.0>, stream id 87) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /fm.php ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /fm (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/fm.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e50bad6233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 87, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668047.0>, params: %{}, path_info: ["fm"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "51.103.163.175"}, {"cf-ipcountry", "CH"}, {"cf-ray", "9ed49e50bad6233d-ZRH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"x-forwarded-for", "51.103.163.175, 172.71.141.164"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.71.141.164"} ], request_path: "/fm.php", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKbjuNDqkZ24-gMAPFbC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/fm.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e50bad6233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 87, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /fm (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.667958.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/fm.php", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34480}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "51.103.163.175", "cf-ipcountry" => "CH", "cf-ray" => "9ed49e50bad6233d-ZRH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "x-forwarded-for" => "51.103.163.175, 172.71.141.164", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.71.141.164" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 87, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.668047.0>, params: %{}, path_info: ["fm"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept-encoding", (truncated) 18:38:31.090 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:00.747 [info] {"source":"oban","duration":140,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:39:01.091 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:39:31.092 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:00.748 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:40:01.093 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:40:31.094 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:00.749 [info] {"source":"oban","duration":250,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:41:01.095 [info] {"source":"oban","duration":1244,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:41:31.097 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:00.750 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:42:01.098 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:42:31.099 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:00.751 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:43:01.100 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:43:31.101 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:00.752 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:44:01.102 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:44:31.102 [info] {"source":"oban","duration":487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:00.753 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:45:01.103 [info] {"source":"oban","duration":510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:45:31.105 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:00.754 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:46:01.106 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:46:31.107 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:00.755 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:47:01.108 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:47:31.109 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:00.756 [info] {"source":"oban","duration":223,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:48:01.110 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:48:31.111 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:00.757 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:49:01.112 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:49:31.113 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:00.758 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:50:01.114 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:50:31.115 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:00.759 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:51:01.116 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:51:31.117 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:00.760 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:52:01.118 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:52:31.119 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:00.761 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:53:01.120 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:53:31.121 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:00.762 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:54:01.123 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:54:31.124 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:00.763 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:55:01.125 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:55:31.126 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:00.764 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:56:01.127 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:56:31.128 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:00.765 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:57:01.129 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:57:31.130 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:00.766 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:58:01.131 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:58:31.132 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:00.767 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:59:01.133 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:59:31.133 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:00.768 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:00:01.135 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:00:31.136 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:00.769 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:01:01.137 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:01:31.138 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:00.770 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:02:01.139 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:02:31.140 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:00.771 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:03:01.141 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:03:31.142 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:00.772 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:04:01.143 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:04:31.144 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:00.773 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:05:01.145 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:05:31.146 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:00.774 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:06:01.147 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:06:31.148 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:00.775 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:07:01.149 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:07:31.150 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:00.776 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:08:01.151 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:08:31.152 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:00.777 [info] {"source":"oban","duration":151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:09:01.153 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:09:31.154 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:00.778 [info] {"source":"oban","duration":90,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:10:01.155 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:10:31.156 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:00.779 [info] {"source":"oban","duration":233,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:11:01.157 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:11:31.158 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:00.780 [info] {"source":"oban","duration":224,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:12:01.159 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:12:31.160 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:00.781 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:13:01.161 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:13:31.162 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:00.782 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:14:01.163 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:14:31.164 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:00.783 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:15:01.165 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:15:31.166 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:00.784 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:16:01.166 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:16:31.168 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:00.785 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:17:01.169 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:17:31.170 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:00.786 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:18:01.171 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:18:31.172 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:00.787 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:19:01.173 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:19:31.174 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:00.788 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:20:01.175 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:20:31.176 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:00.789 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:21:01.177 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:21:31.178 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:00.790 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:22:01.179 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:22:31.180 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:00.791 [info] {"source":"oban","duration":168,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:23:01.181 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:23:31.182 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:00.792 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:24:01.183 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:24:31.184 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:00.793 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:25:01.185 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:25:31.186 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:00.794 [info] {"source":"oban","duration":97,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:26:01.187 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:26:31.188 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:00.795 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:27:01.189 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:27:31.190 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:00.796 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:28:01.191 [info] {"source":"oban","duration":955,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:28:31.193 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:00.797 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:29:01.194 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:29:31.195 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:00.798 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:30:01.196 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:30:31.197 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:00.799 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:31:01.198 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:31:31.199 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:00.800 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:32:01.199 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:32:31.201 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:00.801 [info] {"source":"oban","duration":250,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:33:01.202 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:33:31.203 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:00.802 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:34:01.204 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:34:31.205 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:00.803 [info] {"source":"oban","duration":246,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:35:01.206 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:35:31.207 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:00.804 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:36:01.208 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:36:31.209 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:00.805 [info] {"source":"oban","duration":227,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:37:01.211 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:37:31.212 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:00.806 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:38:01.213 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:38:31.214 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:00.807 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:39:01.215 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:39:31.216 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:00.808 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:40:01.217 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:40:31.218 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:00.809 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:41:01.219 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:41:31.220 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:00.810 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:42:01.221 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:42:31.222 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:00.811 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:43:01.223 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:43:31.224 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:00.812 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:44:01.225 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:44:31.226 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:00.813 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:45:01.227 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:45:31.228 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:00.814 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:46:01.229 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:46:31.230 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:00.815 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:47:01.231 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:47:31.232 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:00.816 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:48:01.233 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:48:31.234 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:00.817 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:49:01.235 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:49:31.236 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:00.818 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:50:01.237 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:50:31.238 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:00.819 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:51:01.239 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:51:31.240 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:00.820 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:52:01.241 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:52:31.242 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:00.821 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:53:01.243 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:53:31.244 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:00.822 [info] {"source":"oban","duration":175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:54:01.245 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:54:31.246 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:00.823 [info] {"source":"oban","duration":146,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:55:01.247 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:55:31.248 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:00.824 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:56:01.249 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:56:31.250 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:00.825 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:57:01.251 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:57:31.252 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:00.826 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:58:01.253 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:58:31.254 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:00.827 [info] {"source":"oban","duration":232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 19:59:01.255 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 19:59:31.256 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:00.828 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:00:01.257 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:00:31.258 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:00.829 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:01:01.259 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:01:31.260 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:00.830 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:02:01.261 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:02:31.262 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:00.831 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:03:01.263 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:03:31.264 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:00.832 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:04:01.265 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:04:31.266 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:00.833 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:05:01.267 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:05:31.268 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:00.834 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:06:01.269 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:06:31.270 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:00.835 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:07:01.271 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:07:31.272 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:00.836 [info] {"source":"oban","duration":175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:08:01.273 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:08:31.274 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:00.837 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:09:01.275 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:09:31.276 [info] {"source":"oban","duration":1221,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:00.838 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:10:01.278 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:10:31.279 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:00.839 [info] {"source":"oban","duration":164,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:11:01.280 [info] {"source":"oban","duration":865,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:11:31.282 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:00.840 [info] {"source":"oban","duration":162,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:12:01.283 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:12:31.284 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:00.841 [info] {"source":"oban","duration":142,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:13:01.285 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:13:31.286 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:00.842 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:14:01.287 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:14:31.288 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:00.843 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:15:01.289 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:15:31.290 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:00.844 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:16:01.291 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:16:31.292 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:00.845 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:17:01.293 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:17:31.294 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:00.846 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:18:01.295 [info] {"source":"oban","duration":820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:18:31.296 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:00.847 [info] {"source":"oban","duration":228,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:19:01.297 [info] {"source":"oban","duration":612,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:19:31.298 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:00.848 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:20:01.298 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:20:31.300 [info] {"source":"oban","duration":1046,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:00.849 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:21:01.302 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:21:31.303 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:00.850 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:22:01.304 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:22:31.305 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:00.851 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:23:01.306 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:23:31.307 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:00.852 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:24:01.308 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:24:31.309 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:00.853 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:25:01.310 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:25:31.313 [info] {"source":"oban","duration":2440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:00.854 [info] {"source":"oban","duration":212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:26:01.315 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:26:31.316 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:00.855 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:27:01.317 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:27:31.318 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:00.856 [info] {"source":"oban","duration":148,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:28:01.319 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:28:31.320 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:00.857 [info] {"source":"oban","duration":146,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:29:01.321 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:29:31.322 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:00.858 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:30:01.323 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:30:31.324 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:00.859 [info] {"source":"oban","duration":166,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:31:01.325 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:31:31.326 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:00.860 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:32:01.327 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:32:31.328 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:00.861 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:33:01.329 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:33:31.330 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:00.862 [info] {"source":"oban","duration":165,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:34:01.331 [info] {"source":"oban","duration":869,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:34:31.333 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:00.863 [info] {"source":"oban","duration":242,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:35:01.334 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:35:31.335 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:00.864 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:36:01.336 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:36:31.337 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:00.865 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:37:01.338 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:37:31.339 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:00.866 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:38:01.340 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:38:31.341 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:00.867 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:39:01.342 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:39:31.343 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:00.868 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:40:01.344 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:40:31.345 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:00.869 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:41:01.346 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:41:31.347 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:00.870 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:42:01.348 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:42:31.349 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:00.871 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:43:01.350 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:43:31.351 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:00.872 [info] {"source":"oban","duration":172,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:44:01.352 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:44:31.353 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:00.873 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:45:01.354 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:45:31.355 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:00.874 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:46:01.356 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:46:31.357 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:00.875 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:47:01.358 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:47:31.359 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:00.876 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:48:01.360 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:48:31.361 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:00.877 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:49:01.362 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:49:31.363 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:00.878 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:50:01.364 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:50:31.365 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:00.879 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:51:01.366 [info] {"source":"oban","duration":600,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:51:31.367 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:00.880 [info] {"source":"oban","duration":228,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:52:01.367 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:52:31.369 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:00.881 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:53:01.370 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:53:31.371 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:00.882 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:54:01.372 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:54:31.373 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:00.883 [info] {"source":"oban","duration":230,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:55:01.374 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:31.375 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:55:51.616 [info] {"args":{"id":7},"id":4776,"meta":{},"system_time":1776365751616069023,"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"]} 20:55:51.616 [debug] QUERY OK source="sources" db=0.1ms idle=829.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:55:51.617 [debug] QUERY OK source="settings" db=0.2ms idle=830.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:55:51.617 [debug] QUERY OK source="media_items" db=0.2ms idle=830.7ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 20:55:51.617 [debug] QUERY OK source="media_items" db=0.1ms idle=8.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 20:55:51.618 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:55:51.618 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 20:55:51.619 [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 [] 20:55:51.620 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 20:55:51.620 [debug] Current batch of media processed. Will check again in 1000ms 20:55:51.620 [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 [] 20:55:51.620 [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 [] 20:55:51.621 [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 [] 20:55:51.621 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/playlist?list=PLqQNt9DP_BNAKpaOPwgq8IcyFjBNYAEEM&si=Thia4lwsVyWiptaN --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Pro perfected/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+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/26/ec/26ecb26aac54206180baeaaa4f4ad0ecf46b809bb609dccdb4b6a702b50095ae.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 20:55:52.620 [debug] Current batch of media processed. Will check again in 1000ms 20:55:53.621 [debug] Current batch of media processed. Will check again in 1000ms 20:55:54.622 [debug] Current batch of media processed. Will check again in 1000ms 20:55:55.623 [debug] Current batch of media processed. Will check again in 1000ms 20:55:56.624 [debug] Current batch of media processed. Will check again in 1000ms 20:55:57.625 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "From vanishing minibars to disappearing closets, hotel rooms are shrinking. With the rise of Airbnb and hotel occupancy rates plateauing, operators are on the hunt for the most profitable design to maximize profits. Take Marriott’s Moxy brand, for example — its rooms are less than half the average size yet can generate up to 20% more revenue than its peers.\n\nWSJ speaks to a leading hotel designer to find out how some hotels are keeping guests happy with less space.\n\nChapters:\n0:00 Why your hotel closet vanished\n0:39 How to shrink a hotel room\n3:04 Encouraging guests down to the bar\n5:02 Finding opportunities in the local area\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Hotels #Design #WSJ", "duration" => 398, "filename" => "/downloads/shows/Pro perfected/Season 2025/s2025e072900 - The Money-Making Secrets Behind Hotel Design | WSJ Pro Perfected.mp4", "id" => "116cwKs2XQs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=116cwKs2XQs", "playlist_index" => 1, "timestamp" => 1753797601, "title" => "The Money-Making Secrets Behind Hotel Design | WSJ Pro Perfected", "upload_date" => "20250729"} 20:55:57.626 [debug] QUERY OK source="sources" db=0.4ms idle=839.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:55:57.626 [debug] QUERY OK source="sources" db=0.2ms idle=840.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:55:57.627 [debug] QUERY OK source="media_items" db=0.2ms idle=840.5ms SELECT max(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:01Z], 7] 20:55:57.629 [debug] QUERY OK source="media_items" db=1.0ms queue=0.4ms idle=841.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["From vanishing minibars to disappearing closets, hotel rooms are shrinking. With the rise of Airbnb and hotel occupancy rates plateauing, operators are on the hunt for the most profitable design to maximize profits. Take Marriott’s Moxy brand, for example — its rooms are less than half the average size yet can generate up to 20% more revenue than its peers.\n\nWSJ speaks to a leading hotel designer to find out how some hotels are keeping guests happy with less space.\n\nChapters:\n0:00 Why your hotel closet vanished\n0:39 How to shrink a hotel room\n3:04 Encouraging guests down to the bar\n5:02 Finding opportunities in the local area\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Hotels #Design #WSJ", "The Money-Making Secrets Behind Hotel Design | WSJ Pro Perfected", "7d3c6b47-15a9-475e-862a-e6b3ab99227f", 7, [], 398, false, "116cwKs2XQs", "https://www.youtube.com/watch?v=116cwKs2XQs", 1, "/downloads/shows/Pro perfected/Season 2025/s2025e072900 - The Money-Making Secrets Behind Hotel Design | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2025-07-29 14:00:01Z], ~U[2026-04-16 18:55:57Z], ~U[2026-04-16 18:55:57Z], "From vanishing minibars to disappearing closets, hotel rooms are shrinking. With the rise of Airbnb and hotel occupancy rates plateauing, operators are on the hunt for the most profitable design to maximize profits. Take Marriott’s Moxy brand, for example — its rooms are less than half the average size yet can generate up to 20% more revenue than its peers.\n\nWSJ speaks to a leading hotel designer to find out how some hotels are keeping guests happy with less space.\n\nChapters:\n0:00 Why your hotel closet vanished\n0:39 How to shrink a hotel room\n3:04 Encouraging guests down to the bar\n5:02 Finding opportunities in the local area\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Hotels #Design #WSJ", "The Money-Making Secrets Behind Hotel Design | WSJ Pro Perfected", 7, 398, false, "116cwKs2XQs", "https://www.youtube.com/watch?v=116cwKs2XQs", "/downloads/shows/Pro perfected/Season 2025/s2025e072900 - The Money-Making Secrets Behind Hotel Design | WSJ Pro Perfected.mp4", false, ~U[2025-07-29 14:00:01Z]] 20:55:57.630 [debug] QUERY OK source="sources" db=0.6ms idle=12.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:55:57.630 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:55:57.631 [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 [59085] 20:55:57.631 [debug] Current batch of media processed. Will check again in 1000ms 20:55:58.632 [debug] Current batch of media processed. Will check again in 1000ms 20:55:59.633 [debug] Current batch of media processed. Will check again in 1000ms 20:56:00.634 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Many Florida homes can withstand category 5 hurricane winds, but not flooding. Babcock Ranch, a town near Fort Myers and Cape Coral, has stayed mostly unscathed during major storms like Hurricane Irma, Ian, Milton and Helene. \n\nWSJ spoke with the town’s engineer to uncover the hurricane-proofing designs that help protect it.\n\nChapters:\n0:00 Hurricane-proof town?\n0:39 Storm-water management\n2:52 Elevation\n4:20 Location of the town\n5:53 Florida’s vulnerability\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Flood #Florida #WSJ", "duration" => 436, "filename" => "/downloads/shows/Pro perfected/Season 2025/s2025e070700 - How Water Makes This Town Flood-Proof | WSJ Pro Perfected.mp4", "id" => "-mv_IiESpyY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-mv_IiESpyY", "playlist_index" => 2, "timestamp" => 1751905355, "title" => "How Water Makes This Town Flood-Proof | WSJ Pro Perfected", "upload_date" => "20250707"} 20:56:00.635 [debug] QUERY OK source="sources" db=0.3ms idle=1847.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:00.635 [debug] QUERY OK source="sources" db=0.2ms idle=1848.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:00.636 [debug] QUERY OK source="media_items" db=0.2ms idle=1848.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-07 16:22:35Z], 7] 20:56:00.638 [debug] QUERY OK source="media_items" db=1.3ms idle=1014.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Many Florida homes can withstand category 5 hurricane winds, but not flooding. Babcock Ranch, a town near Fort Myers and Cape Coral, has stayed mostly unscathed during major storms like Hurricane Irma, Ian, Milton and Helene. \n\nWSJ spoke with the town’s engineer to uncover the hurricane-proofing designs that help protect it.\n\nChapters:\n0:00 Hurricane-proof town?\n0:39 Storm-water management\n2:52 Elevation\n4:20 Location of the town\n5:53 Florida’s vulnerability\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Flood #Florida #WSJ", "How Water Makes This Town Flood-Proof | WSJ Pro Perfected", "644510a6-fc89-4be4-8c03-414895f52a99", 7, [], 436, false, "-mv_IiESpyY", "https://www.youtube.com/watch?v=-mv_IiESpyY", 2, "/downloads/shows/Pro perfected/Season 2025/s2025e070700 - How Water Makes This Town Flood-Proof | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2025-07-07 16:22:35Z], ~U[2026-04-16 18:56:00Z], ~U[2026-04-16 18:56:00Z], "Many Florida homes can withstand category 5 hurricane winds, but not flooding. Babcock Ranch, a town near Fort Myers and Cape Coral, has stayed mostly unscathed during major storms like Hurricane Irma, Ian, Milton and Helene. \n\nWSJ spoke with the town’s engineer to uncover the hurricane-proofing designs that help protect it.\n\nChapters:\n0:00 Hurricane-proof town?\n0:39 Storm-water management\n2:52 Elevation\n4:20 Location of the town\n5:53 Florida’s vulnerability\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Flood #Florida #WSJ", "How Water Makes This Town Flood-Proof | WSJ Pro Perfected", 7, 436, false, "-mv_IiESpyY", "https://www.youtube.com/watch?v=-mv_IiESpyY", "/downloads/shows/Pro perfected/Season 2025/s2025e070700 - How Water Makes This Town Flood-Proof | WSJ Pro Perfected.mp4", false, ~U[2025-07-07 16:22:35Z]] 20:56:00.638 [debug] QUERY OK source="sources" db=0.3ms idle=15.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:00.639 [debug] QUERY OK source="media_profiles" db=0.1ms queue=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] 20:56:00.639 [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 [49891] 20:56:00.639 [debug] Current batch of media processed. Will check again in 1000ms 20:56:00.884 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:56:01.376 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:01.640 [debug] Current batch of media processed. Will check again in 1000ms 20:56:02.641 [debug] Current batch of media processed. Will check again in 1000ms 20:56:03.642 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Renewable energy has created a hidden infrastructure challenge. While solar and wind power now make up a larger share of the electricity supply, the power grid wasn’t designed to handle them.\n\nWSJ asked a power grid engineer to break down the mechanics of renewable energy to explain three ways to make the grid more resilient to disruptions. \n\nChapters:\n0:00 Renewable energy’s hidden problem\n0:35 Why the power grid needs inertia\n2:01 Solution #1: grid-forming inverter\n3:55 Solution #2: synchronous condenser\n4:51 Solution #3: battery energy storage systems\n5:53 The power grid’s future\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Solar #RenewableEnergy #WSJ", "duration" => 377, "filename" => "/downloads/shows/Pro perfected/Season 2025/s2025e060300 - How to Fix Renewable Energy’s Hidden Infrastructure Problem | WSJ Pro Perfected.mp4", "id" => "Sq-y-wiZduE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Sq-y-wiZduE", "playlist_index" => 3, "timestamp" => 1748959272, "title" => "How to Fix Renewable Energy’s Hidden Infrastructure Problem | WSJ Pro Perfected", "upload_date" => "20250603"} 20:56:03.643 [debug] QUERY OK source="sources" db=0.2ms idle=1855.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:03.643 [debug] QUERY OK source="sources" db=0.1ms idle=1018.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:03.644 [debug] QUERY OK source="media_items" db=0.1ms idle=856.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-03 14:01:12Z], 7] 20:56:03.645 [debug] QUERY OK source="media_items" db=1.2ms idle=856.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Renewable energy has created a hidden infrastructure challenge. While solar and wind power now make up a larger share of the electricity supply, the power grid wasn’t designed to handle them.\n\nWSJ asked a power grid engineer to break down the mechanics of renewable energy to explain three ways to make the grid more resilient to disruptions. \n\nChapters:\n0:00 Renewable energy’s hidden problem\n0:35 Why the power grid needs inertia\n2:01 Solution #1: grid-forming inverter\n3:55 Solution #2: synchronous condenser\n4:51 Solution #3: battery energy storage systems\n5:53 The power grid’s future\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Solar #RenewableEnergy #WSJ", "How to Fix Renewable Energy’s Hidden Infrastructure Problem | WSJ Pro Perfected", "bf4d5d30-22aa-4c85-acbd-e3bcb2174f33", 7, [], 377, false, "Sq-y-wiZduE", "https://www.youtube.com/watch?v=Sq-y-wiZduE", 3, "/downloads/shows/Pro perfected/Season 2025/s2025e060300 - How to Fix Renewable Energy’s Hidden Infrastructure Problem | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2025-06-03 14:01:12Z], ~U[2026-04-16 18:56:03Z], ~U[2026-04-16 18:56:03Z], "Renewable energy has created a hidden infrastructure challenge. While solar and wind power now make up a larger share of the electricity supply, the power grid wasn’t designed to handle them.\n\nWSJ asked a power grid engineer to break down the mechanics of renewable energy to explain three ways to make the grid more resilient to disruptions. \n\nChapters:\n0:00 Renewable energy’s hidden problem\n0:35 Why the power grid needs inertia\n2:01 Solution #1: grid-forming inverter\n3:55 Solution #2: synchronous condenser\n4:51 Solution #3: battery energy storage systems\n5:53 The power grid’s future\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Solar #RenewableEnergy #WSJ", "How to Fix Renewable Energy’s Hidden Infrastructure Problem | WSJ Pro Perfected", 7, 377, false, "Sq-y-wiZduE", "https://www.youtube.com/watch?v=Sq-y-wiZduE", "/downloads/shows/Pro perfected/Season 2025/s2025e060300 - How to Fix Renewable Energy’s Hidden Infrastructure Problem | WSJ Pro Perfected.mp4", false, ~U[2025-06-03 14:01:12Z]] 20:56:03.646 [debug] QUERY OK source="sources" db=0.2ms idle=19.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:03.646 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:56:03.647 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [41200] 20:56:03.647 [debug] Current batch of media processed. Will check again in 1000ms 20:56:04.648 [debug] Current batch of media processed. Will check again in 1000ms 20:56:05.649 [debug] Current batch of media processed. Will check again in 1000ms 20:56:06.650 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Los Angeles had one of the best mass transit systems in the U.S. about 100 years ago. But today, driving in L.A. traffic can still be faster than taking the train. The city’s mono-centric design ends most of the rail lines in downtown L.A., similar to New York City’s subway system that has most MTA and commuter lines connecting or ending in Manhattan. But L.A.’s population is too spread out for this kind of design. \n\nWSJ spoke with the former chief innovation officer at L.A. Metro to find out how he would fix the city’s transit system. \n\nChapters:\n0:00 L.A.’s transit system\n0:46 The problems with the design\n2:03 The solution\n3:39 Local connections\n4:45 The problem building rail today\n6:06 What’s next?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#LA #Traffic #WSJ", "duration" => 476, "filename" => "/downloads/shows/Pro perfected/Season 2025/s2025e051500 - Why L.A.’s Trains Can Take 4x Longer Than Driving | WSJ Pro Perfected.mp4", "id" => "Zcm5nsc1XvU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Zcm5nsc1XvU", "playlist_index" => 4, "timestamp" => 1747322390, "title" => "Why L.A.’s Trains Can Take 4x Longer Than Driving | WSJ Pro Perfected", "upload_date" => "20250515"} 20:56:06.651 [debug] QUERY OK source="sources" db=0.2ms idle=1863.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:06.651 [debug] QUERY OK source="sources" db=0.1ms idle=1863.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:06.651 [debug] QUERY OK source="media_items" db=0.1ms idle=1864.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-15 15:19:50Z], 7] 20:56:06.653 [debug] QUERY OK source="media_items" db=1.4ms idle=1024.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Los Angeles had one of the best mass transit systems in the U.S. about 100 years ago. But today, driving in L.A. traffic can still be faster than taking the train. The city’s mono-centric design ends most of the rail lines in downtown L.A., similar to New York City’s subway system that has most MTA and commuter lines connecting or ending in Manhattan. But L.A.’s population is too spread out for this kind of design. \n\nWSJ spoke with the former chief innovation officer at L.A. Metro to find out how he would fix the city’s transit system. \n\nChapters:\n0:00 L.A.’s transit system\n0:46 The problems with the design\n2:03 The solution\n3:39 Local connections\n4:45 The problem building rail today\n6:06 What’s next?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#LA #Traffic #WSJ", "Why L.A.’s Trains Can Take 4x Longer Than Driving | WSJ Pro Perfected", "9c22f294-c55e-4a97-9177-cfdde161479c", 7, [], 476, false, "Zcm5nsc1XvU", "https://www.youtube.com/watch?v=Zcm5nsc1XvU", 4, "/downloads/shows/Pro perfected/Season 2025/s2025e051500 - Why L.A.’s Trains Can Take 4x Longer Than Driving | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2025-05-15 15:19:50Z], ~U[2026-04-16 18:56:06Z], ~U[2026-04-16 18:56:06Z], "Los Angeles had one of the best mass transit systems in the U.S. about 100 years ago. But today, driving in L.A. traffic can still be faster than taking the train. The city’s mono-centric design ends most of the rail lines in downtown L.A., similar to New York City’s subway system that has most MTA and commuter lines connecting or ending in Manhattan. But L.A.’s population is too spread out for this kind of design. \n\nWSJ spoke with the former chief innovation officer at L.A. Metro to find out how he would fix the city’s transit system. \n\nChapters:\n0:00 L.A.’s transit system\n0:46 The problems with the design\n2:03 The solution\n3:39 Local connections\n4:45 The problem building rail today\n6:06 What’s next?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#LA #Traffic #WSJ", "Why L.A.’s Trains Can Take 4x Longer Than Driving | WSJ Pro Perfected", 7, 476, false, "Zcm5nsc1XvU", "https://www.youtube.com/watch?v=Zcm5nsc1XvU", "/downloads/shows/Pro perfected/Season 2025/s2025e051500 - Why L.A.’s Trains Can Take 4x Longer Than Driving | WSJ Pro Perfected.mp4", false, ~U[2025-05-15 15:19:50Z]] 20:56:06.654 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [7] 20:56:06.654 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:56:06.655 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [34955] 20:56:06.655 [debug] Current batch of media processed. Will check again in 1000ms 20:56:07.656 [debug] Current batch of media processed. Will check again in 1000ms 20:56:08.657 [debug] Current batch of media processed. Will check again in 1000ms 20:56:09.658 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "There are over 55 billion U.S. bank notes in circulation around the globe. This means protecting the world’s number one traded currency from counterfeiting and forgery is no easy task. In fact, the $1 bill is one of the least secure American bank notes in the world as it hasn’t been updated in over 60 years.\n\nFrom hidden magnetic fields to the way ink bleeds across the paper, WSJ sits down with a leading currency expert to explore the techniques used to keep cash safe.\n\nChapters:\n0:00 Preventing counterfeiters\n0:50 Level 1: readable by humans\n5:01 Level 2: readable by machines\n6:01 Level 3: readable by central banks\n7:07 Redesigning the $1 bill\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Money #Crime #WSJ", "duration" => 512, "filename" => "/downloads/shows/Pro perfected/Season 2025/s2025e041100 - Why the $1 Bill Hasn’t Been Redesigned in Over 60 Years | WSJ Pro Perfected.mp4", "id" => "Zkq4cv5dH7I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Zkq4cv5dH7I", "playlist_index" => 5, "timestamp" => 1744380060, "title" => "Why the $1 Bill Hasn’t Been Redesigned in Over 60 Years | WSJ Pro Perfected", "upload_date" => "20250411"} 20:56:09.659 [debug] QUERY OK source="sources" db=0.3ms idle=1871.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:09.659 [debug] QUERY OK source="sources" db=0.2ms idle=1872.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:09.660 [debug] QUERY OK source="media_items" db=0.3ms idle=1872.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-11 14:01:00Z], 7] 20:56:09.662 [debug] QUERY OK source="media_items" db=1.3ms idle=1028.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["There are over 55 billion U.S. bank notes in circulation around the globe. This means protecting the world’s number one traded currency from counterfeiting and forgery is no easy task. In fact, the $1 bill is one of the least secure American bank notes in the world as it hasn’t been updated in over 60 years.\n\nFrom hidden magnetic fields to the way ink bleeds across the paper, WSJ sits down with a leading currency expert to explore the techniques used to keep cash safe.\n\nChapters:\n0:00 Preventing counterfeiters\n0:50 Level 1: readable by humans\n5:01 Level 2: readable by machines\n6:01 Level 3: readable by central banks\n7:07 Redesigning the $1 bill\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Money #Crime #WSJ", "Why the $1 Bill Hasn’t Been Redesigned in Over 60 Years | WSJ Pro Perfected", "1cce97e9-eff8-4eb3-abc6-04c7b7921909", 7, [], 512, false, "Zkq4cv5dH7I", "https://www.youtube.com/watch?v=Zkq4cv5dH7I", 5, "/downloads/shows/Pro perfected/Season 2025/s2025e041100 - Why the $1 Bill Hasn’t Been Redesigned in Over 60 Years | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2025-04-11 14:01:00Z], ~U[2026-04-16 18:56:09Z], ~U[2026-04-16 18:56:09Z], "There are over 55 billion U.S. bank notes in circulation around the globe. This means protecting the world’s number one traded currency from counterfeiting and forgery is no easy task. In fact, the $1 bill is one of the least secure American bank notes in the world as it hasn’t been updated in over 60 years.\n\nFrom hidden magnetic fields to the way ink bleeds across the paper, WSJ sits down with a leading currency expert to explore the techniques used to keep cash safe.\n\nChapters:\n0:00 Preventing counterfeiters\n0:50 Level 1: readable by humans\n5:01 Level 2: readable by machines\n6:01 Level 3: readable by central banks\n7:07 Redesigning the $1 bill\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Money #Crime #WSJ", "Why the $1 Bill Hasn’t Been Redesigned in Over 60 Years | WSJ Pro Perfected", 7, 512, false, "Zkq4cv5dH7I", "https://www.youtube.com/watch?v=Zkq4cv5dH7I", "/downloads/shows/Pro perfected/Season 2025/s2025e041100 - Why the $1 Bill Hasn’t Been Redesigned in Over 60 Years | WSJ Pro Perfected.mp4", false, ~U[2025-04-11 14:01:00Z]] 20:56:09.662 [debug] QUERY OK source="sources" db=0.2ms idle=29.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:09.663 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:56:09.663 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [23737] 20:56:09.664 [debug] Current batch of media processed. Will check again in 1000ms 20:56:10.664 [debug] Current batch of media processed. Will check again in 1000ms 20:56:11.665 [debug] Current batch of media processed. Will check again in 1000ms 20:56:12.666 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Los Angeles International Airport, one of the world’s busiest, served over 76 million passengers in 2024. But its design causes notorious traffic bottlenecks. Now, with $30 billion in upgrades underway, will LAX’s modernization solve its congestion problem—especially with major events like the 2028 Olympics on the horizon?\n\nWSJ spoke with an airport transit expert, who explains what it would take to fix LAX. \n\nChapters:\n0:00 LAX’s problem\n0:51 Design and bottlenecks\n2:27 Move people efficiently around the horseshoe\n3:15 Remove cars from the horseshoe \n4:44 Airside capacity \n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#LAX #Airport #WSJ", "duration" => 432, "filename" => "/downloads/shows/Pro perfected/Season 2025/s2025e031200 - Why LAX’s $30B Upgrade Isn’t Enough to Fix the Airport’s Traffic | WSJ Pro Perfected.mp4", "id" => "8ykQAAxaAGw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8ykQAAxaAGw", "playlist_index" => 6, "timestamp" => 1741788014, "title" => "Why LAX’s $30B Upgrade Isn’t Enough to Fix the Airport’s Traffic | WSJ Pro Perfected", "upload_date" => "20250312"} 20:56:12.667 [debug] QUERY OK source="sources" db=0.1ms idle=1879.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:12.667 [debug] QUERY OK source="sources" db=0.1ms idle=1879.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:12.667 [debug] QUERY OK source="media_items" db=0.2ms idle=1880.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-12 14:00:14Z], 7] 20:56:12.669 [debug] QUERY OK source="media_items" db=1.2ms idle=1033.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Los Angeles International Airport, one of the world’s busiest, served over 76 million passengers in 2024. But its design causes notorious traffic bottlenecks. Now, with $30 billion in upgrades underway, will LAX’s modernization solve its congestion problem—especially with major events like the 2028 Olympics on the horizon?\n\nWSJ spoke with an airport transit expert, who explains what it would take to fix LAX. \n\nChapters:\n0:00 LAX’s problem\n0:51 Design and bottlenecks\n2:27 Move people efficiently around the horseshoe\n3:15 Remove cars from the horseshoe \n4:44 Airside capacity \n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#LAX #Airport #WSJ", "Why LAX’s $30B Upgrade Isn’t Enough to Fix the Airport’s Traffic | WSJ Pro Perfected", "b7d9eab0-f569-4547-8723-79e0a925d3fa", 7, [], 432, false, "8ykQAAxaAGw", "https://www.youtube.com/watch?v=8ykQAAxaAGw", 6, "/downloads/shows/Pro perfected/Season 2025/s2025e031200 - Why LAX’s $30B Upgrade Isn’t Enough to Fix the Airport’s Traffic | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2025-03-12 14:00:14Z], ~U[2026-04-16 18:56:12Z], ~U[2026-04-16 18:56:12Z], "Los Angeles International Airport, one of the world’s busiest, served over 76 million passengers in 2024. But its design causes notorious traffic bottlenecks. Now, with $30 billion in upgrades underway, will LAX’s modernization solve its congestion problem—especially with major events like the 2028 Olympics on the horizon?\n\nWSJ spoke with an airport transit expert, who explains what it would take to fix LAX. \n\nChapters:\n0:00 LAX’s problem\n0:51 Design and bottlenecks\n2:27 Move people efficiently around the horseshoe\n3:15 Remove cars from the horseshoe \n4:44 Airside capacity \n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#LAX #Airport #WSJ", "Why LAX’s $30B Upgrade Isn’t Enough to Fix the Airport’s Traffic | WSJ Pro Perfected", 7, 432, false, "8ykQAAxaAGw", "https://www.youtube.com/watch?v=8ykQAAxaAGw", "/downloads/shows/Pro perfected/Season 2025/s2025e031200 - Why LAX’s $30B Upgrade Isn’t Enough to Fix the Airport’s Traffic | WSJ Pro Perfected.mp4", false, ~U[2025-03-12 14:00:14Z]] 20:56:12.670 [debug] QUERY OK source="sources" db=0.1ms idle=33.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:12.670 [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] 20:56:12.671 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [16175] 20:56:12.671 [debug] Current batch of media processed. Will check again in 1000ms 20:56:13.671 [debug] Current batch of media processed. Will check again in 1000ms 20:56:14.672 [debug] Current batch of media processed. Will check again in 1000ms 20:56:15.673 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The New Orleans Superdome is set to host Super Bowl LIX between the Kansas City Chiefs and the Philadelphia Eagles. The stadium’s latest $560M renovation–from the concession stands to the seating bowl–helped save it from demolition after Hurricane Katrina. NFL games have increasingly become more expensive with the addition of amenities like luxury field suites and club lounges, but all of these redesigns are done in order to increase revenue and efficiency.\n\nWSJ spoke with the architect behind the Superdome’s plan, who explains how stadium design is evolving to create more revenue streams.\n\nChapters:\n0:00 Evolving stadiums\n0:52 Superdome history \n1:32 The path to your seat and crowd control\n3:33 New concession stands\n4:54 The seating bowl\n6:42 What’s next for stadium innovation?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Superbowl #NFL #WSJ", "duration" => 460, "filename" => "/downloads/shows/Pro perfected/Season 2025/s2025e020300 - Architect Reveals How NFL Stadiums Are Engineered to Maximize Profit | WSJ Pro Perfected.mp4", "id" => "26LpMYEheyo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=26LpMYEheyo", "playlist_index" => 7, "timestamp" => 1738609768, "title" => "Architect Reveals How NFL Stadiums Are Engineered to Maximize Profit | WSJ Pro Perfected", "upload_date" => "20250203"} 20:56:15.674 [debug] QUERY OK source="sources" db=0.3ms idle=1886.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:15.674 [debug] QUERY OK source="sources" db=0.1ms idle=1887.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:15.675 [debug] QUERY OK source="media_items" db=0.2ms idle=1887.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-03 19:09:28Z], 7] 20:56:15.684 [debug] QUERY OK source="media_items" db=8.2ms idle=1036.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The New Orleans Superdome is set to host Super Bowl LIX between the Kansas City Chiefs and the Philadelphia Eagles. The stadium’s latest $560M renovation–from the concession stands to the seating bowl–helped save it from demolition after Hurricane Katrina. NFL games have increasingly become more expensive with the addition of amenities like luxury field suites and club lounges, but all of these redesigns are done in order to increase revenue and efficiency.\n\nWSJ spoke with the architect behind the Superdome’s plan, who explains how stadium design is evolving to create more revenue streams.\n\nChapters:\n0:00 Evolving stadiums\n0:52 Superdome history \n1:32 The path to your seat and crowd control\n3:33 New concession stands\n4:54 The seating bowl\n6:42 What’s next for stadium innovation?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Superbowl #NFL #WSJ", "Architect Reveals How NFL Stadiums Are Engineered to Maximize Profit | WSJ Pro Perfected", "01775a50-9ab4-41d4-a774-11156e951131", 7, [], 460, false, "26LpMYEheyo", "https://www.youtube.com/watch?v=26LpMYEheyo", 7, "/downloads/shows/Pro perfected/Season 2025/s2025e020300 - Architect Reveals How NFL Stadiums Are Engineered to Maximize Profit | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2025-02-03 19:09:28Z], ~U[2026-04-16 18:56:15Z], ~U[2026-04-16 18:56:15Z], "The New Orleans Superdome is set to host Super Bowl LIX between the Kansas City Chiefs and the Philadelphia Eagles. The stadium’s latest $560M renovation–from the concession stands to the seating bowl–helped save it from demolition after Hurricane Katrina. NFL games have increasingly become more expensive with the addition of amenities like luxury field suites and club lounges, but all of these redesigns are done in order to increase revenue and efficiency.\n\nWSJ spoke with the architect behind the Superdome’s plan, who explains how stadium design is evolving to create more revenue streams.\n\nChapters:\n0:00 Evolving stadiums\n0:52 Superdome history \n1:32 The path to your seat and crowd control\n3:33 New concession stands\n4:54 The seating bowl\n6:42 What’s next for stadium innovation?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Superbowl #NFL #WSJ", "Architect Reveals How NFL Stadiums Are Engineered to Maximize Profit | WSJ Pro Perfected", 7, 460, false, "26LpMYEheyo", "https://www.youtube.com/watch?v=26LpMYEheyo", "/downloads/shows/Pro perfected/Season 2025/s2025e020300 - Architect Reveals How NFL Stadiums Are Engineered to Maximize Profit | WSJ Pro Perfected.mp4", false, ~U[2025-02-03 19:09:28Z]] 20:56:15.684 [debug] QUERY OK source="sources" db=0.2ms idle=44.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:15.685 [debug] QUERY OK source="media_profiles" db=0.1ms idle=10.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:56:15.685 [debug] QUERY OK source="media_items" db=0.2ms idle=10.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 [6534] 20:56:15.685 [debug] Current batch of media processed. Will check again in 1000ms 20:56:16.686 [debug] Current batch of media processed. Will check again in 1000ms 20:56:17.687 [debug] Current batch of media processed. Will check again in 1000ms 20:56:18.688 [debug] Current batch of media processed. Will check again in 1000ms 20:56:19.689 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Record travel this holiday season means more delays and cancellations, but a well-designed airport can ease the flow of millions. Seamless passenger flow reduces confusion, makes airports more money and helps prevent delays. But how can check-in, going through security and dealing with TSA and terminal configuration be best optimized?\n\nWSJ asked an architect to break down how airports can be built to better manage crowds.\n\nChapters:\n0:00 Impact of increased travel\n0:40 Landside: checking in\n2:37 Going through security\n4:38 Airside\n5:38 Terminal configuration\n7:04 Arrival areas\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Airport #Travel #WSJ", "duration" => 482, "filename" => "/downloads/shows/Pro perfected/Season 2024/s2024e122300 - Expert Explains Hidden Airport Design Tricks That Guide Travelers | WSJ Pro Perfected.mp4", "id" => "oeJcvKZG2w8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oeJcvKZG2w8", "playlist_index" => 8, "timestamp" => 1734966065, "title" => "Expert Explains Hidden Airport Design Tricks That Guide Travelers | WSJ Pro Perfected", "upload_date" => "20241223"} 20:56:19.690 [debug] QUERY OK source="sources" db=0.2ms idle=902.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:19.690 [debug] QUERY OK source="sources" db=0.1ms idle=902.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:19.691 [debug] QUERY OK source="media_items" db=0.1ms idle=903.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-23 15:01:05Z], 7] 20:56:19.694 [debug] QUERY OK source="media_items" db=3.0ms idle=903.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Record travel this holiday season means more delays and cancellations, but a well-designed airport can ease the flow of millions. Seamless passenger flow reduces confusion, makes airports more money and helps prevent delays. But how can check-in, going through security and dealing with TSA and terminal configuration be best optimized?\n\nWSJ asked an architect to break down how airports can be built to better manage crowds.\n\nChapters:\n0:00 Impact of increased travel\n0:40 Landside: checking in\n2:37 Going through security\n4:38 Airside\n5:38 Terminal configuration\n7:04 Arrival areas\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Airport #Travel #WSJ", "Expert Explains Hidden Airport Design Tricks That Guide Travelers | WSJ Pro Perfected", "434cad4c-30e5-449c-811f-409fe2780b84", 7, [], 482, false, "oeJcvKZG2w8", "https://www.youtube.com/watch?v=oeJcvKZG2w8", 8, "/downloads/shows/Pro perfected/Season 2024/s2024e122300 - Expert Explains Hidden Airport Design Tricks That Guide Travelers | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2024-12-23 15:01:05Z], ~U[2026-04-16 18:56:19Z], ~U[2026-04-16 18:56:19Z], "Record travel this holiday season means more delays and cancellations, but a well-designed airport can ease the flow of millions. Seamless passenger flow reduces confusion, makes airports more money and helps prevent delays. But how can check-in, going through security and dealing with TSA and terminal configuration be best optimized?\n\nWSJ asked an architect to break down how airports can be built to better manage crowds.\n\nChapters:\n0:00 Impact of increased travel\n0:40 Landside: checking in\n2:37 Going through security\n4:38 Airside\n5:38 Terminal configuration\n7:04 Arrival areas\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Airport #Travel #WSJ", "Expert Explains Hidden Airport Design Tricks That Guide Travelers | WSJ Pro Perfected", 7, 482, false, "oeJcvKZG2w8", "https://www.youtube.com/watch?v=oeJcvKZG2w8", "/downloads/shows/Pro perfected/Season 2024/s2024e122300 - Expert Explains Hidden Airport Design Tricks That Guide Travelers | WSJ Pro Perfected.mp4", false, ~U[2024-12-23 15:01:05Z]] 20:56:19.695 [debug] QUERY OK source="sources" db=0.2ms idle=48.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:19.695 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:56:19.695 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5433] 20:56:19.696 [debug] Current batch of media processed. Will check again in 1000ms 20:56:20.696 [debug] Current batch of media processed. Will check again in 1000ms 20:56:21.697 [debug] Current batch of media processed. Will check again in 1000ms 20:56:22.698 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "From trains and traffic to concerts and sporting events, many cities around the world are dangerously loud. Noise pollution can have a huge impact on health and quality of life - causing stress and increasing risk for heart disease and other issues. So what are some of the tools that engineers have to limit loud noise?\n\nRaj Patel, an acoustics expert who helped design Manhattan’s Little Island waterfront park, explains how noise pollution can be minimized in metropolises like New York City.\n\nChapters:\n0:00 Noise pollution in cities\n0:52 Street noise and parks\n2:57 Subways\n5:15 Building insulation\nConcert venue\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Noise #NewYork #WSJ", "duration" => 486, "filename" => "/downloads/shows/Pro perfected/Season 2024/s2024e121000 - Acoustic Engineer Fixes NYC Subway, Parks and Buildings to Limit Noise | WSJ Pro Perfected.mp4", "id" => "5oXiOFR5Xyo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5oXiOFR5Xyo", "playlist_index" => 9, "timestamp" => 1733842812, "title" => "Acoustic Engineer Fixes NYC Subway, Parks and Buildings to Limit Noise | WSJ Pro Perfected", "upload_date" => "20241210"} 20:56:22.699 [debug] QUERY OK source="sources" db=0.2ms idle=1911.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:22.699 [debug] QUERY OK source="sources" db=0.1ms idle=1911.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:22.700 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=1912.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-10 15:00:12Z], 7] 20:56:22.701 [debug] QUERY OK source="media_items" db=1.0ms idle=1052.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["From trains and traffic to concerts and sporting events, many cities around the world are dangerously loud. Noise pollution can have a huge impact on health and quality of life - causing stress and increasing risk for heart disease and other issues. So what are some of the tools that engineers have to limit loud noise?\n\nRaj Patel, an acoustics expert who helped design Manhattan’s Little Island waterfront park, explains how noise pollution can be minimized in metropolises like New York City.\n\nChapters:\n0:00 Noise pollution in cities\n0:52 Street noise and parks\n2:57 Subways\n5:15 Building insulation\nConcert venue\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Noise #NewYork #WSJ", "Acoustic Engineer Fixes NYC Subway, Parks and Buildings to Limit Noise | WSJ Pro Perfected", "5cdba170-e95b-412b-8022-35160085b94e", 7, [], 486, false, "5oXiOFR5Xyo", "https://www.youtube.com/watch?v=5oXiOFR5Xyo", 9, "/downloads/shows/Pro perfected/Season 2024/s2024e121000 - Acoustic Engineer Fixes NYC Subway, Parks and Buildings to Limit Noise | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2024-12-10 15:00:12Z], ~U[2026-04-16 18:56:22Z], ~U[2026-04-16 18:56:22Z], "From trains and traffic to concerts and sporting events, many cities around the world are dangerously loud. Noise pollution can have a huge impact on health and quality of life - causing stress and increasing risk for heart disease and other issues. So what are some of the tools that engineers have to limit loud noise?\n\nRaj Patel, an acoustics expert who helped design Manhattan’s Little Island waterfront park, explains how noise pollution can be minimized in metropolises like New York City.\n\nChapters:\n0:00 Noise pollution in cities\n0:52 Street noise and parks\n2:57 Subways\n5:15 Building insulation\nConcert venue\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Noise #NewYork #WSJ", "Acoustic Engineer Fixes NYC Subway, Parks and Buildings to Limit Noise | WSJ Pro Perfected", 7, 486, false, "5oXiOFR5Xyo", "https://www.youtube.com/watch?v=5oXiOFR5Xyo", "/downloads/shows/Pro perfected/Season 2024/s2024e121000 - Acoustic Engineer Fixes NYC Subway, Parks and Buildings to Limit Noise | WSJ Pro Perfected.mp4", false, ~U[2024-12-10 15:00:12Z]] 20:56:22.702 [debug] QUERY OK source="sources" db=0.1ms idle=52.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:22.702 [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] 20:56:22.703 [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 [5434] 20:56:22.703 [debug] Current batch of media processed. Will check again in 1000ms 20:56:23.703 [debug] Current batch of media processed. Will check again in 1000ms 20:56:24.704 [debug] Current batch of media processed. Will check again in 1000ms 20:56:25.705 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Commuter trains are renowned for potentially being cramped and crowded, but they don’t have to be that way. Tiny adjustments to a commuter train’s design – from the width of the doors to the position of the handholds – can have huge impacts on the speed that passengers can get on and off, and can make or break the economics of a train service. \n\nWSJ sits down with train manufacturer Alstom to discover what a perfected commuter train could look like.\n\nChapters:\n0:00 Train carriages are a blank slate\n0:38 What influences a train design\n2:00 Train doors\n2:49 Load monitoring\n4:23 Train seats\n5:15 Accessibility \n5:55 Why there aren’t more futuristic designs\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Train #Subway #WSJ", "duration" => 426, "filename" => "/downloads/shows/Pro perfected/Season 2024/s2024e102500 - Train Architect Designs the Perfect Commuter Train | WSJ Pro Perfected.mp4", "id" => "TGu9RBHPVz4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TGu9RBHPVz4", "playlist_index" => 10, "timestamp" => 1729864824, "title" => "Train Architect Designs the Perfect Commuter Train | WSJ Pro Perfected", "upload_date" => "20241025"} 20:56:25.706 [debug] QUERY OK source="sources" db=0.1ms idle=1918.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:25.706 [debug] QUERY OK source="sources" db=0.1ms idle=1918.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:25.706 [debug] QUERY OK source="media_items" db=0.1ms idle=1919.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-25 14:00:24Z], 7] 20:56:25.708 [debug] QUERY OK source="media_items" db=1.0ms idle=1056.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Commuter trains are renowned for potentially being cramped and crowded, but they don’t have to be that way. Tiny adjustments to a commuter train’s design – from the width of the doors to the position of the handholds – can have huge impacts on the speed that passengers can get on and off, and can make or break the economics of a train service. \n\nWSJ sits down with train manufacturer Alstom to discover what a perfected commuter train could look like.\n\nChapters:\n0:00 Train carriages are a blank slate\n0:38 What influences a train design\n2:00 Train doors\n2:49 Load monitoring\n4:23 Train seats\n5:15 Accessibility \n5:55 Why there aren’t more futuristic designs\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Train #Subway #WSJ", "Train Architect Designs the Perfect Commuter Train | WSJ Pro Perfected", "b5c31adf-1a70-420a-a792-1d24ab824312", 7, [], 426, false, "TGu9RBHPVz4", "https://www.youtube.com/watch?v=TGu9RBHPVz4", 10, "/downloads/shows/Pro perfected/Season 2024/s2024e102500 - Train Architect Designs the Perfect Commuter Train | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2024-10-25 14:00:24Z], ~U[2026-04-16 18:56:25Z], ~U[2026-04-16 18:56:25Z], "Commuter trains are renowned for potentially being cramped and crowded, but they don’t have to be that way. Tiny adjustments to a commuter train’s design – from the width of the doors to the position of the handholds – can have huge impacts on the speed that passengers can get on and off, and can make or break the economics of a train service. \n\nWSJ sits down with train manufacturer Alstom to discover what a perfected commuter train could look like.\n\nChapters:\n0:00 Train carriages are a blank slate\n0:38 What influences a train design\n2:00 Train doors\n2:49 Load monitoring\n4:23 Train seats\n5:15 Accessibility \n5:55 Why there aren’t more futuristic designs\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Train #Subway #WSJ", "Train Architect Designs the Perfect Commuter Train | WSJ Pro Perfected", 7, 426, false, "TGu9RBHPVz4", "https://www.youtube.com/watch?v=TGu9RBHPVz4", "/downloads/shows/Pro perfected/Season 2024/s2024e102500 - Train Architect Designs the Perfect Commuter Train | WSJ Pro Perfected.mp4", false, ~U[2024-10-25 14:00:24Z]] 20:56:25.708 [debug] QUERY OK source="sources" db=0.1ms idle=56.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:25.709 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:56:25.709 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5437] 20:56:25.709 [debug] Current batch of media processed. Will check again in 1000ms 20:56:26.710 [debug] Current batch of media processed. Will check again in 1000ms 20:56:27.711 [debug] Current batch of media processed. Will check again in 1000ms 20:56:28.712 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "An infamous interchange in Breezewood, Pa., forces drivers through a miles-long detour. But redesigning it could cripple the town’s economy, which has come to depend on the visitors. The route connects Washington DC and Baltimore with Pittsburgh and goes all the way through the Midwest. If you take that traffic away, what happens to the town?\n\nWSJ explains why it’s a traffic chokepoint and spoke with a transportation engineer on how to fix it. \n\nChapters:\n0:00 Infamous traffic chokepoint\n1:06 Building a cloverleaf\n2:25 Building ramps\n3:26 Why was it built like this?\n4:40 Make Breezewood more\n7:49 What’s next?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Infrastructure #Breezewood #WSJ", "duration" => 521, "filename" => "/downloads/shows/Pro perfected/Season 2024/s2024e082600 - What This Iconic Photo Says About America’s Road Planning | WSJ Pro Perfected.mp4", "id" => "z0C7rb9a4mk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=z0C7rb9a4mk", "playlist_index" => 11, "timestamp" => 1724682626, "title" => "What This Iconic Photo Says About America’s Road Planning | WSJ Pro Perfected", "upload_date" => "20240826"} 20:56:28.713 [debug] QUERY OK source="sources" db=0.3ms idle=1925.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:28.713 [debug] QUERY OK source="sources" db=0.2ms idle=1926.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:28.714 [debug] QUERY OK source="media_items" db=0.3ms idle=1926.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-26 14:30:26Z], 7] 20:56:28.718 [debug] QUERY OK source="media_items" db=3.8ms idle=1059.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["An infamous interchange in Breezewood, Pa., forces drivers through a miles-long detour. But redesigning it could cripple the town’s economy, which has come to depend on the visitors. The route connects Washington DC and Baltimore with Pittsburgh and goes all the way through the Midwest. If you take that traffic away, what happens to the town?\n\nWSJ explains why it’s a traffic chokepoint and spoke with a transportation engineer on how to fix it. \n\nChapters:\n0:00 Infamous traffic chokepoint\n1:06 Building a cloverleaf\n2:25 Building ramps\n3:26 Why was it built like this?\n4:40 Make Breezewood more\n7:49 What’s next?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Infrastructure #Breezewood #WSJ", "What This Iconic Photo Says About America’s Road Planning | WSJ Pro Perfected", "c2386b6a-51c0-4e31-9084-dc26066d62a8", 7, [], 521, false, "z0C7rb9a4mk", "https://www.youtube.com/watch?v=z0C7rb9a4mk", 11, "/downloads/shows/Pro perfected/Season 2024/s2024e082600 - What This Iconic Photo Says About America’s Road Planning | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2024-08-26 14:30:26Z], ~U[2026-04-16 18:56:28Z], ~U[2026-04-16 18:56:28Z], "An infamous interchange in Breezewood, Pa., forces drivers through a miles-long detour. But redesigning it could cripple the town’s economy, which has come to depend on the visitors. The route connects Washington DC and Baltimore with Pittsburgh and goes all the way through the Midwest. If you take that traffic away, what happens to the town?\n\nWSJ explains why it’s a traffic chokepoint and spoke with a transportation engineer on how to fix it. \n\nChapters:\n0:00 Infamous traffic chokepoint\n1:06 Building a cloverleaf\n2:25 Building ramps\n3:26 Why was it built like this?\n4:40 Make Breezewood more\n7:49 What’s next?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Infrastructure #Breezewood #WSJ", "What This Iconic Photo Says About America’s Road Planning | WSJ Pro Perfected", 7, 521, false, "z0C7rb9a4mk", "https://www.youtube.com/watch?v=z0C7rb9a4mk", "/downloads/shows/Pro perfected/Season 2024/s2024e082600 - What This Iconic Photo Says About America’s Road Planning | WSJ Pro Perfected.mp4", false, ~U[2024-08-26 14:30:26Z]] 20:56:28.719 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:28.719 [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] 20:56:28.720 [debug] QUERY OK source="media_items" db=0.2ms idle=6.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5438] 20:56:28.720 [debug] Current batch of media processed. Will check again in 1000ms 20:56:29.721 [debug] Current batch of media processed. Will check again in 1000ms 20:56:30.722 [debug] Current batch of media processed. Will check again in 1000ms 20:56:31.377 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:56:31.723 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "After Hurricane Sandy, New York invested $7.6 billion dollars into flood-proofing the subway – yet it still floods. So now, the Metropolitan Transit Authority (MTA) is seeking a further billion dollars to deploy new tactics, like those used in Taipei and Tokyo, where tsunamis are prevalent but their networks were designed with flooding in mind.\n\nWSJ spoke with an MTA engineer to see how the city is looking to improve subway flooding to keep some four million daily NYC subway riders moving. \n\nChapters:\n0:00 MTA spending\n0:54 Hurricane Sandy failures and normal operations\n3:03 Active storm surge protections\n5:27 Passive storm flood protections\n8:03 Bigger projects\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#NewYork #Subway #WSJ", "duration" => 550, "filename" => "/downloads/shows/Pro perfected/Season 2024/s2024e080100 - Why NYC’s Subway Keeps Flooding | WSJ Pro Perfected.mp4", "id" => "QVw-g-Trb9M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QVw-g-Trb9M", "playlist_index" => 12, "timestamp" => 1722520820, "title" => "Why NYC’s Subway Keeps Flooding | WSJ Pro Perfected", "upload_date" => "20240801"} 20:56:31.724 [debug] QUERY OK source="sources" db=0.2ms idle=1936.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:31.724 [debug] QUERY OK source="sources" db=0.1ms idle=1936.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:31.725 [debug] QUERY OK source="media_items" db=0.2ms idle=1065.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-01 14:00:20Z], 7] 20:56:31.728 [debug] QUERY OK source="media_items" db=3.0ms idle=348.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["After Hurricane Sandy, New York invested $7.6 billion dollars into flood-proofing the subway – yet it still floods. So now, the Metropolitan Transit Authority (MTA) is seeking a further billion dollars to deploy new tactics, like those used in Taipei and Tokyo, where tsunamis are prevalent but their networks were designed with flooding in mind.\n\nWSJ spoke with an MTA engineer to see how the city is looking to improve subway flooding to keep some four million daily NYC subway riders moving. \n\nChapters:\n0:00 MTA spending\n0:54 Hurricane Sandy failures and normal operations\n3:03 Active storm surge protections\n5:27 Passive storm flood protections\n8:03 Bigger projects\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#NewYork #Subway #WSJ", "Why NYC’s Subway Keeps Flooding | WSJ Pro Perfected", "45596a27-3bff-4899-a1a3-79f0c144d130", 7, [], 550, false, "QVw-g-Trb9M", "https://www.youtube.com/watch?v=QVw-g-Trb9M", 12, "/downloads/shows/Pro perfected/Season 2024/s2024e080100 - Why NYC’s Subway Keeps Flooding | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2024-08-01 14:00:20Z], ~U[2026-04-16 18:56:31Z], ~U[2026-04-16 18:56:31Z], "After Hurricane Sandy, New York invested $7.6 billion dollars into flood-proofing the subway – yet it still floods. So now, the Metropolitan Transit Authority (MTA) is seeking a further billion dollars to deploy new tactics, like those used in Taipei and Tokyo, where tsunamis are prevalent but their networks were designed with flooding in mind.\n\nWSJ spoke with an MTA engineer to see how the city is looking to improve subway flooding to keep some four million daily NYC subway riders moving. \n\nChapters:\n0:00 MTA spending\n0:54 Hurricane Sandy failures and normal operations\n3:03 Active storm surge protections\n5:27 Passive storm flood protections\n8:03 Bigger projects\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#NewYork #Subway #WSJ", "Why NYC’s Subway Keeps Flooding | WSJ Pro Perfected", 7, 550, false, "QVw-g-Trb9M", "https://www.youtube.com/watch?v=QVw-g-Trb9M", "/downloads/shows/Pro perfected/Season 2024/s2024e080100 - Why NYC’s Subway Keeps Flooding | WSJ Pro Perfected.mp4", false, ~U[2024-08-01 14:00:20Z]] 20:56:31.729 [debug] QUERY OK source="sources" db=0.1ms idle=68.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:31.729 [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] 20:56:31.730 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5439] 20:56:31.730 [debug] Current batch of media processed. Will check again in 1000ms 20:56:32.731 [debug] Current batch of media processed. Will check again in 1000ms 20:56:33.732 [debug] Current batch of media processed. Will check again in 1000ms 20:56:34.733 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "From music festival lines to concession stand menus at stadiums, nearly every square foot of major event venues are designed to prioritize safety and boost revenue. Crowd control is vital for all key stages at an event including arrivals, halftime and departures. \n\nWSJ spoke with an expert on how to move tens of thousands of people through a major event to maximize profit and avoid disaster.\n\nChapters:\n0:00 Crowd control\n0:50 The arrivals curve\n1:42 Crowd psychology \n2:13 Art of the queue \n3:35 The concession stand\n4:35 Departures\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Safety #Concert #WSJ", "duration" => 409, "filename" => "/downloads/shows/Pro perfected/Season 2024/s2024e071000 - Expert Explains the Hidden Crowd Engineering Behind Event Venues | WSJ Pro Perfected.mp4", "id" => "L2XfHREa0j0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=L2XfHREa0j0", "playlist_index" => 13, "timestamp" => 1720620028, "title" => "Expert Explains the Hidden Crowd Engineering Behind Event Venues | WSJ Pro Perfected", "upload_date" => "20240710"} 20:56:34.734 [debug] QUERY OK source="sources" db=0.2ms idle=1946.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:34.734 [debug] QUERY OK source="sources" db=0.1ms idle=1946.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:34.735 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=1947.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-10 14:00:28Z], 7] 20:56:34.737 [debug] QUERY OK source="media_items" db=1.2ms idle=1072.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["From music festival lines to concession stand menus at stadiums, nearly every square foot of major event venues are designed to prioritize safety and boost revenue. Crowd control is vital for all key stages at an event including arrivals, halftime and departures. \n\nWSJ spoke with an expert on how to move tens of thousands of people through a major event to maximize profit and avoid disaster.\n\nChapters:\n0:00 Crowd control\n0:50 The arrivals curve\n1:42 Crowd psychology \n2:13 Art of the queue \n3:35 The concession stand\n4:35 Departures\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Safety #Concert #WSJ", "Expert Explains the Hidden Crowd Engineering Behind Event Venues | WSJ Pro Perfected", "1e5decfb-0de8-4e1a-a968-6bf15c0dde45", 7, [], 409, false, "L2XfHREa0j0", "https://www.youtube.com/watch?v=L2XfHREa0j0", 13, "/downloads/shows/Pro perfected/Season 2024/s2024e071000 - Expert Explains the Hidden Crowd Engineering Behind Event Venues | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2024-07-10 14:00:28Z], ~U[2026-04-16 18:56:34Z], ~U[2026-04-16 18:56:34Z], "From music festival lines to concession stand menus at stadiums, nearly every square foot of major event venues are designed to prioritize safety and boost revenue. Crowd control is vital for all key stages at an event including arrivals, halftime and departures. \n\nWSJ spoke with an expert on how to move tens of thousands of people through a major event to maximize profit and avoid disaster.\n\nChapters:\n0:00 Crowd control\n0:50 The arrivals curve\n1:42 Crowd psychology \n2:13 Art of the queue \n3:35 The concession stand\n4:35 Departures\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Safety #Concert #WSJ", "Expert Explains the Hidden Crowd Engineering Behind Event Venues | WSJ Pro Perfected", 7, 409, false, "L2XfHREa0j0", "https://www.youtube.com/watch?v=L2XfHREa0j0", "/downloads/shows/Pro perfected/Season 2024/s2024e071000 - Expert Explains the Hidden Crowd Engineering Behind Event Venues | WSJ Pro Perfected.mp4", false, ~U[2024-07-10 14:00:28Z]] 20:56:34.737 [debug] QUERY OK source="sources" db=0.2ms idle=73.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:34.738 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:56:34.738 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5440] 20:56:34.738 [debug] Current batch of media processed. Will check again in 1000ms 20:56:35.739 [debug] Current batch of media processed. Will check again in 1000ms 20:56:36.740 [debug] Current batch of media processed. Will check again in 1000ms 20:56:37.741 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Venice, Italy, is sinking. The city spent about $6 billion on MOSE – a mobile floodgate system that rises to separate the Venetian lagoon from the Adriatic Sea, blocking high tides from inundating the city. But that might not be enough. Fifty years ago, the lowest point in Venice, St. Mark’s Square, only flooded forty times a year. Now, it floods 250 times a year.\n\nFrom pumping water into the city to super levees, WSJ asked an expert to explain potential engineering solutions to protect the “floating city” from being overrun by water.\n\nChapters:\n0:00 Venice flooding\n0:43 MOSE barriers\n3:01 Pumping salt water into aquifers\n4:57 Super levee\n7:07 Venice’s adaptations to rising tides\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Venice #Italy #WSJ", "duration" => 462, "filename" => "/downloads/shows/Pro perfected/Season 2024/s2024e011700 - Venice Is Drowning: Engineering Expert Explains How to Save It | WSJ Pro Perfected.mp4", "id" => "qwVKbAzh8fo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qwVKbAzh8fo", "playlist_index" => 14, "timestamp" => 1705503645, "title" => "Venice Is Drowning: Engineering Expert Explains How to Save It | WSJ Pro Perfected", "upload_date" => "20240117"} 20:56:37.742 [debug] QUERY OK source="sources" db=0.1ms idle=1954.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:37.742 [debug] QUERY OK source="sources" db=0.1ms idle=1954.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:37.743 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=1955.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-01-17 15:00:45Z], 7] 20:56:37.745 [debug] QUERY OK source="media_items" db=1.6ms idle=1077.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Venice, Italy, is sinking. The city spent about $6 billion on MOSE – a mobile floodgate system that rises to separate the Venetian lagoon from the Adriatic Sea, blocking high tides from inundating the city. But that might not be enough. Fifty years ago, the lowest point in Venice, St. Mark’s Square, only flooded forty times a year. Now, it floods 250 times a year.\n\nFrom pumping water into the city to super levees, WSJ asked an expert to explain potential engineering solutions to protect the “floating city” from being overrun by water.\n\nChapters:\n0:00 Venice flooding\n0:43 MOSE barriers\n3:01 Pumping salt water into aquifers\n4:57 Super levee\n7:07 Venice’s adaptations to rising tides\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Venice #Italy #WSJ", "Venice Is Drowning: Engineering Expert Explains How to Save It | WSJ Pro Perfected", "f69a619c-a063-461e-931e-0344ef6b8fbd", 7, [], 462, false, "qwVKbAzh8fo", "https://www.youtube.com/watch?v=qwVKbAzh8fo", 14, "/downloads/shows/Pro perfected/Season 2024/s2024e011700 - Venice Is Drowning: Engineering Expert Explains How to Save It | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2024-01-17 15:00:45Z], ~U[2026-04-16 18:56:37Z], ~U[2026-04-16 18:56:37Z], "Venice, Italy, is sinking. The city spent about $6 billion on MOSE – a mobile floodgate system that rises to separate the Venetian lagoon from the Adriatic Sea, blocking high tides from inundating the city. But that might not be enough. Fifty years ago, the lowest point in Venice, St. Mark’s Square, only flooded forty times a year. Now, it floods 250 times a year.\n\nFrom pumping water into the city to super levees, WSJ asked an expert to explain potential engineering solutions to protect the “floating city” from being overrun by water.\n\nChapters:\n0:00 Venice flooding\n0:43 MOSE barriers\n3:01 Pumping salt water into aquifers\n4:57 Super levee\n7:07 Venice’s adaptations to rising tides\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Venice #Italy #WSJ", "Venice Is Drowning: Engineering Expert Explains How to Save It | WSJ Pro Perfected", 7, 462, false, "qwVKbAzh8fo", "https://www.youtube.com/watch?v=qwVKbAzh8fo", "/downloads/shows/Pro perfected/Season 2024/s2024e011700 - Venice Is Drowning: Engineering Expert Explains How to Save It | WSJ Pro Perfected.mp4", false, ~U[2024-01-17 15:00:45Z]] 20:56:37.746 [debug] QUERY OK source="sources" db=0.2ms idle=78.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:37.746 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:56:37.746 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5441] 20:56:37.747 [debug] Current batch of media processed. Will check again in 1000ms 20:56:38.747 [debug] Current batch of media processed. Will check again in 1000ms 20:56:39.748 [debug] Current batch of media processed. Will check again in 1000ms 20:56:40.749 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The global elevator and escalator market is expected to be over $145 billion by 2027 as skylines increasingly become taller. The Merdeka 118 building in Malaysia will become the world’s second tallest skyscraper in 2024 at 2,233 feet. But how do the elevators efficiently transport more than 10,000 people up and down the building every day? \n\nWSJ spoke with an elevator engineer expert who breaks down the strategies and challenges that come with designing an elevator system to service each of the Malaysian skyscraper’s 118 floors.\n\n0:00 Elevators in skyscrapers\n0:53 Optimizing for traffic flow\n2:28 How to handle capacity\n4:44 Speed of elevator\n5:29 Innovations\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Elevator #Design #WSJ", "duration" => 482, "filename" => "/downloads/shows/Pro perfected/Season 2023/s2023e090300 - Elevator Expert on How to Move 10,000 People Up a 118-Floor Skyscraper | WSJ Pro Perfected.mp4", "id" => "dK6XZvIt22w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dK6XZvIt22w", "playlist_index" => 15, "timestamp" => 1693749623, "title" => "Elevator Expert on How to Move 10,000 People Up a 118-Floor Skyscraper | WSJ Pro Perfected", "upload_date" => "20230903"} 20:56:40.750 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1962.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:40.750 [debug] QUERY OK source="sources" db=0.2ms idle=1962.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:40.751 [debug] QUERY OK source="media_items" db=0.2ms idle=1963.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-09-03 14:00:23Z], 7] 20:56:40.753 [debug] QUERY OK source="media_items" db=1.4ms idle=1082.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The global elevator and escalator market is expected to be over $145 billion by 2027 as skylines increasingly become taller. The Merdeka 118 building in Malaysia will become the world’s second tallest skyscraper in 2024 at 2,233 feet. But how do the elevators efficiently transport more than 10,000 people up and down the building every day? \n\nWSJ spoke with an elevator engineer expert who breaks down the strategies and challenges that come with designing an elevator system to service each of the Malaysian skyscraper’s 118 floors.\n\n0:00 Elevators in skyscrapers\n0:53 Optimizing for traffic flow\n2:28 How to handle capacity\n4:44 Speed of elevator\n5:29 Innovations\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Elevator #Design #WSJ", "Elevator Expert on How to Move 10,000 People Up a 118-Floor Skyscraper | WSJ Pro Perfected", "a2bfb48e-cd8f-45b6-80a7-af3141c47c6d", 7, [], 482, false, "dK6XZvIt22w", "https://www.youtube.com/watch?v=dK6XZvIt22w", 15, "/downloads/shows/Pro perfected/Season 2023/s2023e090300 - Elevator Expert on How to Move 10,000 People Up a 118-Floor Skyscraper | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2023-09-03 14:00:23Z], ~U[2026-04-16 18:56:40Z], ~U[2026-04-16 18:56:40Z], "The global elevator and escalator market is expected to be over $145 billion by 2027 as skylines increasingly become taller. The Merdeka 118 building in Malaysia will become the world’s second tallest skyscraper in 2024 at 2,233 feet. But how do the elevators efficiently transport more than 10,000 people up and down the building every day? \n\nWSJ spoke with an elevator engineer expert who breaks down the strategies and challenges that come with designing an elevator system to service each of the Malaysian skyscraper’s 118 floors.\n\n0:00 Elevators in skyscrapers\n0:53 Optimizing for traffic flow\n2:28 How to handle capacity\n4:44 Speed of elevator\n5:29 Innovations\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Elevator #Design #WSJ", "Elevator Expert on How to Move 10,000 People Up a 118-Floor Skyscraper | WSJ Pro Perfected", 7, 482, false, "dK6XZvIt22w", "https://www.youtube.com/watch?v=dK6XZvIt22w", "/downloads/shows/Pro perfected/Season 2023/s2023e090300 - Elevator Expert on How to Move 10,000 People Up a 118-Floor Skyscraper | WSJ Pro Perfected.mp4", false, ~U[2023-09-03 14:00:23Z]] 20:56:40.753 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [7] 20:56:40.754 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:56:40.754 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5442] 20:56:40.755 [debug] Current batch of media processed. Will check again in 1000ms 20:56:41.755 [debug] Current batch of media processed. Will check again in 1000ms 20:56:42.756 [debug] Current batch of media processed. Will check again in 1000ms 20:56:43.757 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Many U.S. highways are plagued by outdated highway infrastructures and interchanges, which cause congestion and delays. Truckers call the intersection of Interstate 95 and SR 4 in Fort Lee, N.J., leading to the George Washington Bridge the most congested bottleneck in America. How could traffic be alleviated here to help the trucking industry become more efficient?\n\nTransportation engineer Varanesh Singh analyzes the worst bottleneck in America and looks at possible solutions, like a cross-harbor tunnel into New York City.\n\n0:00 I-95 and SR 4\n0:34 Cloverleafs and roundabouts\n2:36 Cross-harbor tunnel\n3:54 Improved transit system\n5:01 What’s next?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#UrbanPlanning #Traffic #WSJ", "duration" => 380, "filename" => "/downloads/shows/Pro perfected/Season 2023/s2023e072100 - Transportation Engineer Tries to Solve America's Worst Bottleneck | WSJ Pro Perfected.mp4", "id" => "9SrkmNPBdiU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9SrkmNPBdiU", "playlist_index" => 16, "timestamp" => 1689958807, "title" => "Transportation Engineer Tries to Solve America's Worst Bottleneck | WSJ Pro Perfected", "upload_date" => "20230721"} 20:56:43.758 [debug] QUERY OK source="sources" db=0.2ms idle=1970.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:43.758 [debug] QUERY OK source="sources" db=0.1ms idle=1970.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:43.759 [debug] QUERY OK source="media_items" db=0.1ms idle=1971.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-07-21 17:00:07Z], 7] 20:56:43.760 [debug] QUERY OK source="media_items" db=1.0ms idle=1087.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Many U.S. highways are plagued by outdated highway infrastructures and interchanges, which cause congestion and delays. Truckers call the intersection of Interstate 95 and SR 4 in Fort Lee, N.J., leading to the George Washington Bridge the most congested bottleneck in America. How could traffic be alleviated here to help the trucking industry become more efficient?\n\nTransportation engineer Varanesh Singh analyzes the worst bottleneck in America and looks at possible solutions, like a cross-harbor tunnel into New York City.\n\n0:00 I-95 and SR 4\n0:34 Cloverleafs and roundabouts\n2:36 Cross-harbor tunnel\n3:54 Improved transit system\n5:01 What’s next?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#UrbanPlanning #Traffic #WSJ", "Transportation Engineer Tries to Solve America's Worst Bottleneck | WSJ Pro Perfected", "d4ca0165-61ae-4e67-86d5-07c7e9a5d09c", 7, [], 380, false, "9SrkmNPBdiU", "https://www.youtube.com/watch?v=9SrkmNPBdiU", 16, "/downloads/shows/Pro perfected/Season 2023/s2023e072100 - Transportation Engineer Tries to Solve America's Worst Bottleneck | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2023-07-21 17:00:07Z], ~U[2026-04-16 18:56:43Z], ~U[2026-04-16 18:56:43Z], "Many U.S. highways are plagued by outdated highway infrastructures and interchanges, which cause congestion and delays. Truckers call the intersection of Interstate 95 and SR 4 in Fort Lee, N.J., leading to the George Washington Bridge the most congested bottleneck in America. How could traffic be alleviated here to help the trucking industry become more efficient?\n\nTransportation engineer Varanesh Singh analyzes the worst bottleneck in America and looks at possible solutions, like a cross-harbor tunnel into New York City.\n\n0:00 I-95 and SR 4\n0:34 Cloverleafs and roundabouts\n2:36 Cross-harbor tunnel\n3:54 Improved transit system\n5:01 What’s next?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#UrbanPlanning #Traffic #WSJ", "Transportation Engineer Tries to Solve America's Worst Bottleneck | WSJ Pro Perfected", 7, 380, false, "9SrkmNPBdiU", "https://www.youtube.com/watch?v=9SrkmNPBdiU", "/downloads/shows/Pro perfected/Season 2023/s2023e072100 - Transportation Engineer Tries to Solve America's Worst Bottleneck | WSJ Pro Perfected.mp4", false, ~U[2023-07-21 17:00:07Z]] 20:56:43.761 [debug] QUERY OK source="sources" db=0.1ms idle=87.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:43.761 [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] 20:56:43.761 [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 [5443] 20:56:43.762 [debug] Current batch of media processed. Will check again in 1000ms 20:56:44.762 [debug] Current batch of media processed. Will check again in 1000ms 20:56:45.763 [debug] Current batch of media processed. Will check again in 1000ms 20:56:46.764 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Economy airplane seats aren’t exactly ergonomic chairs. They push many passengers into uncomfortable positions that can be bad for their health. But size isn’t the only factor when it comes to comfort: providing better lumbar support, more leg room and several other changes could be key.\n\nWSJ spoke to an ergonomics expert about how to improve airplane seats to support frequent fliers better, adjusting the seat pan, seat pitch, headrests, and more. \n\n0:00 What could the perfect airplane seat look like?\n0:20 Lumbar support\n1:03 Headrest\n1:30 Seat pan\n2:25 Footrests\n3:05 Leg room\n3:53 Materials\n\n#Travel #Flight #WSJ", "duration" => 367, "filename" => "/downloads/shows/Pro perfected/Season 2023/s2023e041800 - Ergonomics Expert Designs the Perfect Airplane Seat | WSJ Pro Perfected.mp4", "id" => "gT05MFzvUy8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gT05MFzvUy8", "playlist_index" => 17, "timestamp" => 1681826968, "title" => "Ergonomics Expert Designs the Perfect Airplane Seat | WSJ Pro Perfected", "upload_date" => "20230418"} 20:56:46.765 [debug] QUERY OK source="sources" db=0.2ms idle=1977.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:46.765 [debug] QUERY OK source="sources" db=0.1ms idle=1977.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:46.766 [debug] QUERY OK source="media_items" db=0.1ms idle=1978.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-04-18 14:09:28Z], 7] 20:56:46.767 [debug] QUERY OK source="media_items" db=0.9ms idle=1091.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Economy airplane seats aren’t exactly ergonomic chairs. They push many passengers into uncomfortable positions that can be bad for their health. But size isn’t the only factor when it comes to comfort: providing better lumbar support, more leg room and several other changes could be key.\n\nWSJ spoke to an ergonomics expert about how to improve airplane seats to support frequent fliers better, adjusting the seat pan, seat pitch, headrests, and more. \n\n0:00 What could the perfect airplane seat look like?\n0:20 Lumbar support\n1:03 Headrest\n1:30 Seat pan\n2:25 Footrests\n3:05 Leg room\n3:53 Materials\n\n#Travel #Flight #WSJ", "Ergonomics Expert Designs the Perfect Airplane Seat | WSJ Pro Perfected", "f0382a74-cbf1-43ec-8e21-a84d9b40f8c3", 7, [], 367, false, "gT05MFzvUy8", "https://www.youtube.com/watch?v=gT05MFzvUy8", 17, "/downloads/shows/Pro perfected/Season 2023/s2023e041800 - Ergonomics Expert Designs the Perfect Airplane Seat | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2023-04-18 14:09:28Z], ~U[2026-04-16 18:56:46Z], ~U[2026-04-16 18:56:46Z], "Economy airplane seats aren’t exactly ergonomic chairs. They push many passengers into uncomfortable positions that can be bad for their health. But size isn’t the only factor when it comes to comfort: providing better lumbar support, more leg room and several other changes could be key.\n\nWSJ spoke to an ergonomics expert about how to improve airplane seats to support frequent fliers better, adjusting the seat pan, seat pitch, headrests, and more. \n\n0:00 What could the perfect airplane seat look like?\n0:20 Lumbar support\n1:03 Headrest\n1:30 Seat pan\n2:25 Footrests\n3:05 Leg room\n3:53 Materials\n\n#Travel #Flight #WSJ", "Ergonomics Expert Designs the Perfect Airplane Seat | WSJ Pro Perfected", 7, 367, false, "gT05MFzvUy8", "https://www.youtube.com/watch?v=gT05MFzvUy8", "/downloads/shows/Pro perfected/Season 2023/s2023e041800 - Ergonomics Expert Designs the Perfect Airplane Seat | WSJ Pro Perfected.mp4", false, ~U[2023-04-18 14:09:28Z]] 20:56:46.767 [debug] QUERY OK source="sources" db=0.1ms idle=91.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:46.768 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 20:56:46.768 [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 [5444] 20:56:46.769 [debug] Current batch of media processed. Will check again in 1000ms 20:56:47.769 [debug] Current batch of media processed. Will check again in 1000ms 20:56:48.770 [debug] Current batch of media processed. Will check again in 1000ms 20:56:49.771 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Over the past 30 years, airplane economy seat width has shrunk by 4 four inches. But in the past year alone, airplane ticket prices have risen by around 25%.\n\nSo, how do you sleep more easily on flights? An expert ergonomist gives her tips on how to get comfortable in flight and shows the best positions for sleeping on a plane with a cheaper coach ticket.\n\n0:00 Meet Carla Jaspers, an occupational therapist and professional ergonomist\n0:31 Issues with sleeping on the tray table\n2:00 How to most effectively sleep in an upright position\n3:37 Other helpful tips for sleeping in coach\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Travel #Flight #WSJ", "duration" => 291, "filename" => "/downloads/shows/Pro perfected/Season 2023/s2023e032900 - Ergonomics Expert Explains How to Sleep on a Plane | WSJ Pro Perfected.mp4", "id" => "wpsXNdu1oYk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wpsXNdu1oYk", "playlist_index" => 18, "timestamp" => 1680121805, "title" => "Ergonomics Expert Explains How to Sleep on a Plane | WSJ Pro Perfected", "upload_date" => "20230329"} 20:56:49.772 [debug] QUERY OK source="sources" db=0.3ms idle=1984.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:49.773 [debug] QUERY OK source="sources" db=0.3ms idle=1985.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.773 [debug] QUERY OK source="media_items" db=0.3ms queue=0.3ms idle=1985.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-03-29 20:30:05Z], 7] 20:56:49.776 [debug] QUERY OK source="media_items" db=1.6ms idle=1095.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Over the past 30 years, airplane economy seat width has shrunk by 4 four inches. But in the past year alone, airplane ticket prices have risen by around 25%.\n\nSo, how do you sleep more easily on flights? An expert ergonomist gives her tips on how to get comfortable in flight and shows the best positions for sleeping on a plane with a cheaper coach ticket.\n\n0:00 Meet Carla Jaspers, an occupational therapist and professional ergonomist\n0:31 Issues with sleeping on the tray table\n2:00 How to most effectively sleep in an upright position\n3:37 Other helpful tips for sleeping in coach\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Travel #Flight #WSJ", "Ergonomics Expert Explains How to Sleep on a Plane | WSJ Pro Perfected", "9cbb4951-b243-44e2-a89a-f3c0a0dd7b2c", 7, [], 291, false, "wpsXNdu1oYk", "https://www.youtube.com/watch?v=wpsXNdu1oYk", 18, "/downloads/shows/Pro perfected/Season 2023/s2023e032900 - Ergonomics Expert Explains How to Sleep on a Plane | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2023-03-29 20:30:05Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "Over the past 30 years, airplane economy seat width has shrunk by 4 four inches. But in the past year alone, airplane ticket prices have risen by around 25%.\n\nSo, how do you sleep more easily on flights? An expert ergonomist gives her tips on how to get comfortable in flight and shows the best positions for sleeping on a plane with a cheaper coach ticket.\n\n0:00 Meet Carla Jaspers, an occupational therapist and professional ergonomist\n0:31 Issues with sleeping on the tray table\n2:00 How to most effectively sleep in an upright position\n3:37 Other helpful tips for sleeping in coach\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Travel #Flight #WSJ", "Ergonomics Expert Explains How to Sleep on a Plane | WSJ Pro Perfected", 7, 291, false, "wpsXNdu1oYk", "https://www.youtube.com/watch?v=wpsXNdu1oYk", "/downloads/shows/Pro perfected/Season 2023/s2023e032900 - Ergonomics Expert Explains How to Sleep on a Plane | WSJ Pro Perfected.mp4", false, ~U[2023-03-29 20:30:05Z]] 20:56:49.776 [debug] QUERY OK source="sources" db=0.2ms idle=97.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.777 [debug] QUERY OK source="media_profiles" db=0.5ms 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] 20:56:49.778 [debug] QUERY OK source="media_items" db=0.5ms 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 [5455] 20:56:49.778 [debug] Current batch of media processed. Will check again in 1000ms 20:56:49.822 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/playlist?list=PLqQNt9DP_BNAKpaOPwgq8IcyFjBNYAEEM&si=Thia4lwsVyWiptaN --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Pro perfected/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+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/26/ec/26ecb26aac54206180baeaaa4f4ad0ecf46b809bb609dccdb4b6a702b50095ae.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 20:56:49.823 [debug] Gracefully stopping file follower 20:56:49.823 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=49.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [7] 20:56:49.824 [debug] QUERY OK source="sources" db=0.2ms idle=47.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.824 [debug] QUERY OK source="media_items" db=0.1ms idle=47.6ms SELECT max(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:01Z], 7] 20:56:49.826 [debug] QUERY OK source="media_items" db=1.0ms idle=47.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["From vanishing minibars to disappearing closets, hotel rooms are shrinking. With the rise of Airbnb and hotel occupancy rates plateauing, operators are on the hunt for the most profitable design to maximize profits. Take Marriott’s Moxy brand, for example — its rooms are less than half the average size yet can generate up to 20% more revenue than its peers.\n\nWSJ speaks to a leading hotel designer to find out how some hotels are keeping guests happy with less space.\n\nChapters:\n0:00 Why your hotel closet vanished\n0:39 How to shrink a hotel room\n3:04 Encouraging guests down to the bar\n5:02 Finding opportunities in the local area\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Hotels #Design #WSJ", "The Money-Making Secrets Behind Hotel Design | WSJ Pro Perfected", "66336fbd-a206-4f4f-ab36-110b0502c43a", 7, [], 398, false, "116cwKs2XQs", "https://www.youtube.com/watch?v=116cwKs2XQs", 1, "/downloads/shows/Pro perfected/Season 2025/s2025e072900 - The Money-Making Secrets Behind Hotel Design | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2025-07-29 14:00:01Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "From vanishing minibars to disappearing closets, hotel rooms are shrinking. With the rise of Airbnb and hotel occupancy rates plateauing, operators are on the hunt for the most profitable design to maximize profits. Take Marriott’s Moxy brand, for example — its rooms are less than half the average size yet can generate up to 20% more revenue than its peers.\n\nWSJ speaks to a leading hotel designer to find out how some hotels are keeping guests happy with less space.\n\nChapters:\n0:00 Why your hotel closet vanished\n0:39 How to shrink a hotel room\n3:04 Encouraging guests down to the bar\n5:02 Finding opportunities in the local area\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Hotels #Design #WSJ", "The Money-Making Secrets Behind Hotel Design | WSJ Pro Perfected", 7, 398, false, "116cwKs2XQs", "https://www.youtube.com/watch?v=116cwKs2XQs", "/downloads/shows/Pro perfected/Season 2025/s2025e072900 - The Money-Making Secrets Behind Hotel Design | WSJ Pro Perfected.mp4", false, ~U[2025-07-29 14:00:01Z]] 20:56:49.826 [debug] QUERY OK source="sources" db=0.1ms idle=47.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.826 [debug] QUERY OK source="media_items" db=0.1ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-07 16:22:35Z], 7] 20:56:49.828 [debug] QUERY OK source="media_items" db=0.9ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Many Florida homes can withstand category 5 hurricane winds, but not flooding. Babcock Ranch, a town near Fort Myers and Cape Coral, has stayed mostly unscathed during major storms like Hurricane Irma, Ian, Milton and Helene. \n\nWSJ spoke with the town’s engineer to uncover the hurricane-proofing designs that help protect it.\n\nChapters:\n0:00 Hurricane-proof town?\n0:39 Storm-water management\n2:52 Elevation\n4:20 Location of the town\n5:53 Florida’s vulnerability\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Flood #Florida #WSJ", "How Water Makes This Town Flood-Proof | WSJ Pro Perfected", "6ea0addf-dce0-44e6-99d7-cadeb19b5cb6", 7, [], 436, false, "-mv_IiESpyY", "https://www.youtube.com/watch?v=-mv_IiESpyY", 2, "/downloads/shows/Pro perfected/Season 2025/s2025e070700 - How Water Makes This Town Flood-Proof | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2025-07-07 16:22:35Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "Many Florida homes can withstand category 5 hurricane winds, but not flooding. Babcock Ranch, a town near Fort Myers and Cape Coral, has stayed mostly unscathed during major storms like Hurricane Irma, Ian, Milton and Helene. \n\nWSJ spoke with the town’s engineer to uncover the hurricane-proofing designs that help protect it.\n\nChapters:\n0:00 Hurricane-proof town?\n0:39 Storm-water management\n2:52 Elevation\n4:20 Location of the town\n5:53 Florida’s vulnerability\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Flood #Florida #WSJ", "How Water Makes This Town Flood-Proof | WSJ Pro Perfected", 7, 436, false, "-mv_IiESpyY", "https://www.youtube.com/watch?v=-mv_IiESpyY", "/downloads/shows/Pro perfected/Season 2025/s2025e070700 - How Water Makes This Town Flood-Proof | WSJ Pro Perfected.mp4", false, ~U[2025-07-07 16:22:35Z]] 20:56:49.828 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.829 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-03 14:01:12Z], 7] 20:56:49.830 [debug] QUERY OK source="media_items" db=1.0ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Renewable energy has created a hidden infrastructure challenge. While solar and wind power now make up a larger share of the electricity supply, the power grid wasn’t designed to handle them.\n\nWSJ asked a power grid engineer to break down the mechanics of renewable energy to explain three ways to make the grid more resilient to disruptions. \n\nChapters:\n0:00 Renewable energy’s hidden problem\n0:35 Why the power grid needs inertia\n2:01 Solution #1: grid-forming inverter\n3:55 Solution #2: synchronous condenser\n4:51 Solution #3: battery energy storage systems\n5:53 The power grid’s future\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Solar #RenewableEnergy #WSJ", "How to Fix Renewable Energy’s Hidden Infrastructure Problem | WSJ Pro Perfected", "70482d6e-e66f-4030-bb51-3b395c2ca708", 7, [], 377, false, "Sq-y-wiZduE", "https://www.youtube.com/watch?v=Sq-y-wiZduE", 3, "/downloads/shows/Pro perfected/Season 2025/s2025e060300 - How to Fix Renewable Energy’s Hidden Infrastructure Problem | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2025-06-03 14:01:12Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "Renewable energy has created a hidden infrastructure challenge. While solar and wind power now make up a larger share of the electricity supply, the power grid wasn’t designed to handle them.\n\nWSJ asked a power grid engineer to break down the mechanics of renewable energy to explain three ways to make the grid more resilient to disruptions. \n\nChapters:\n0:00 Renewable energy’s hidden problem\n0:35 Why the power grid needs inertia\n2:01 Solution #1: grid-forming inverter\n3:55 Solution #2: synchronous condenser\n4:51 Solution #3: battery energy storage systems\n5:53 The power grid’s future\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Solar #RenewableEnergy #WSJ", "How to Fix Renewable Energy’s Hidden Infrastructure Problem | WSJ Pro Perfected", 7, 377, false, "Sq-y-wiZduE", "https://www.youtube.com/watch?v=Sq-y-wiZduE", "/downloads/shows/Pro perfected/Season 2025/s2025e060300 - How to Fix Renewable Energy’s Hidden Infrastructure Problem | WSJ Pro Perfected.mp4", false, ~U[2025-06-03 14:01:12Z]] 20:56:49.831 [debug] QUERY OK source="sources" db=0.1ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.831 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-15 15:19:50Z], 7] 20:56:49.833 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Los Angeles had one of the best mass transit systems in the U.S. about 100 years ago. But today, driving in L.A. traffic can still be faster than taking the train. The city’s mono-centric design ends most of the rail lines in downtown L.A., similar to New York City’s subway system that has most MTA and commuter lines connecting or ending in Manhattan. But L.A.’s population is too spread out for this kind of design. \n\nWSJ spoke with the former chief innovation officer at L.A. Metro to find out how he would fix the city’s transit system. \n\nChapters:\n0:00 L.A.’s transit system\n0:46 The problems with the design\n2:03 The solution\n3:39 Local connections\n4:45 The problem building rail today\n6:06 What’s next?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#LA #Traffic #WSJ", "Why L.A.’s Trains Can Take 4x Longer Than Driving | WSJ Pro Perfected", "cbd563fa-f41b-49c6-882b-99f8864d00c8", 7, [], 476, false, "Zcm5nsc1XvU", "https://www.youtube.com/watch?v=Zcm5nsc1XvU", 4, "/downloads/shows/Pro perfected/Season 2025/s2025e051500 - Why L.A.’s Trains Can Take 4x Longer Than Driving | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2025-05-15 15:19:50Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "Los Angeles had one of the best mass transit systems in the U.S. about 100 years ago. But today, driving in L.A. traffic can still be faster than taking the train. The city’s mono-centric design ends most of the rail lines in downtown L.A., similar to New York City’s subway system that has most MTA and commuter lines connecting or ending in Manhattan. But L.A.’s population is too spread out for this kind of design. \n\nWSJ spoke with the former chief innovation officer at L.A. Metro to find out how he would fix the city’s transit system. \n\nChapters:\n0:00 L.A.’s transit system\n0:46 The problems with the design\n2:03 The solution\n3:39 Local connections\n4:45 The problem building rail today\n6:06 What’s next?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#LA #Traffic #WSJ", "Why L.A.’s Trains Can Take 4x Longer Than Driving | WSJ Pro Perfected", 7, 476, false, "Zcm5nsc1XvU", "https://www.youtube.com/watch?v=Zcm5nsc1XvU", "/downloads/shows/Pro perfected/Season 2025/s2025e051500 - Why L.A.’s Trains Can Take 4x Longer Than Driving | WSJ Pro Perfected.mp4", false, ~U[2025-05-15 15:19:50Z]] 20:56:49.834 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.834 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-11 14:01:00Z], 7] 20:56:49.836 [debug] QUERY OK source="media_items" db=0.9ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["There are over 55 billion U.S. bank notes in circulation around the globe. This means protecting the world’s number one traded currency from counterfeiting and forgery is no easy task. In fact, the $1 bill is one of the least secure American bank notes in the world as it hasn’t been updated in over 60 years.\n\nFrom hidden magnetic fields to the way ink bleeds across the paper, WSJ sits down with a leading currency expert to explore the techniques used to keep cash safe.\n\nChapters:\n0:00 Preventing counterfeiters\n0:50 Level 1: readable by humans\n5:01 Level 2: readable by machines\n6:01 Level 3: readable by central banks\n7:07 Redesigning the $1 bill\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Money #Crime #WSJ", "Why the $1 Bill Hasn’t Been Redesigned in Over 60 Years | WSJ Pro Perfected", "0d871088-1190-4351-b1bc-bfb4000eabea", 7, [], 512, false, "Zkq4cv5dH7I", "https://www.youtube.com/watch?v=Zkq4cv5dH7I", 5, "/downloads/shows/Pro perfected/Season 2025/s2025e041100 - Why the $1 Bill Hasn’t Been Redesigned in Over 60 Years | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2025-04-11 14:01:00Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "There are over 55 billion U.S. bank notes in circulation around the globe. This means protecting the world’s number one traded currency from counterfeiting and forgery is no easy task. In fact, the $1 bill is one of the least secure American bank notes in the world as it hasn’t been updated in over 60 years.\n\nFrom hidden magnetic fields to the way ink bleeds across the paper, WSJ sits down with a leading currency expert to explore the techniques used to keep cash safe.\n\nChapters:\n0:00 Preventing counterfeiters\n0:50 Level 1: readable by humans\n5:01 Level 2: readable by machines\n6:01 Level 3: readable by central banks\n7:07 Redesigning the $1 bill\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Money #Crime #WSJ", "Why the $1 Bill Hasn’t Been Redesigned in Over 60 Years | WSJ Pro Perfected", 7, 512, false, "Zkq4cv5dH7I", "https://www.youtube.com/watch?v=Zkq4cv5dH7I", "/downloads/shows/Pro perfected/Season 2025/s2025e041100 - Why the $1 Bill Hasn’t Been Redesigned in Over 60 Years | WSJ Pro Perfected.mp4", false, ~U[2025-04-11 14:01:00Z]] 20:56:49.836 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.837 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-12 14:00:14Z], 7] 20:56:49.838 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Los Angeles International Airport, one of the world’s busiest, served over 76 million passengers in 2024. But its design causes notorious traffic bottlenecks. Now, with $30 billion in upgrades underway, will LAX’s modernization solve its congestion problem—especially with major events like the 2028 Olympics on the horizon?\n\nWSJ spoke with an airport transit expert, who explains what it would take to fix LAX. \n\nChapters:\n0:00 LAX’s problem\n0:51 Design and bottlenecks\n2:27 Move people efficiently around the horseshoe\n3:15 Remove cars from the horseshoe \n4:44 Airside capacity \n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#LAX #Airport #WSJ", "Why LAX’s $30B Upgrade Isn’t Enough to Fix the Airport’s Traffic | WSJ Pro Perfected", "863602f9-f1dc-4c1a-b5bf-0fe6738e6e96", 7, [], 432, false, "8ykQAAxaAGw", "https://www.youtube.com/watch?v=8ykQAAxaAGw", 6, "/downloads/shows/Pro perfected/Season 2025/s2025e031200 - Why LAX’s $30B Upgrade Isn’t Enough to Fix the Airport’s Traffic | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2025-03-12 14:00:14Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "Los Angeles International Airport, one of the world’s busiest, served over 76 million passengers in 2024. But its design causes notorious traffic bottlenecks. Now, with $30 billion in upgrades underway, will LAX’s modernization solve its congestion problem—especially with major events like the 2028 Olympics on the horizon?\n\nWSJ spoke with an airport transit expert, who explains what it would take to fix LAX. \n\nChapters:\n0:00 LAX’s problem\n0:51 Design and bottlenecks\n2:27 Move people efficiently around the horseshoe\n3:15 Remove cars from the horseshoe \n4:44 Airside capacity \n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#LAX #Airport #WSJ", "Why LAX’s $30B Upgrade Isn’t Enough to Fix the Airport’s Traffic | WSJ Pro Perfected", 7, 432, false, "8ykQAAxaAGw", "https://www.youtube.com/watch?v=8ykQAAxaAGw", "/downloads/shows/Pro perfected/Season 2025/s2025e031200 - Why LAX’s $30B Upgrade Isn’t Enough to Fix the Airport’s Traffic | WSJ Pro Perfected.mp4", false, ~U[2025-03-12 14:00:14Z]] 20:56:49.839 [debug] QUERY OK source="sources" db=0.3ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.839 [debug] QUERY OK source="media_items" db=0.1ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-03 19:09:28Z], 7] 20:56:49.841 [debug] QUERY OK source="media_items" db=1.0ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The New Orleans Superdome is set to host Super Bowl LIX between the Kansas City Chiefs and the Philadelphia Eagles. The stadium’s latest $560M renovation–from the concession stands to the seating bowl–helped save it from demolition after Hurricane Katrina. NFL games have increasingly become more expensive with the addition of amenities like luxury field suites and club lounges, but all of these redesigns are done in order to increase revenue and efficiency.\n\nWSJ spoke with the architect behind the Superdome’s plan, who explains how stadium design is evolving to create more revenue streams.\n\nChapters:\n0:00 Evolving stadiums\n0:52 Superdome history \n1:32 The path to your seat and crowd control\n3:33 New concession stands\n4:54 The seating bowl\n6:42 What’s next for stadium innovation?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Superbowl #NFL #WSJ", "Architect Reveals How NFL Stadiums Are Engineered to Maximize Profit | WSJ Pro Perfected", "ca00ef13-2668-4490-ac78-77cedba4b6e8", 7, [], 460, false, "26LpMYEheyo", "https://www.youtube.com/watch?v=26LpMYEheyo", 7, "/downloads/shows/Pro perfected/Season 2025/s2025e020300 - Architect Reveals How NFL Stadiums Are Engineered to Maximize Profit | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2025-02-03 19:09:28Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "The New Orleans Superdome is set to host Super Bowl LIX between the Kansas City Chiefs and the Philadelphia Eagles. The stadium’s latest $560M renovation–from the concession stands to the seating bowl–helped save it from demolition after Hurricane Katrina. NFL games have increasingly become more expensive with the addition of amenities like luxury field suites and club lounges, but all of these redesigns are done in order to increase revenue and efficiency.\n\nWSJ spoke with the architect behind the Superdome’s plan, who explains how stadium design is evolving to create more revenue streams.\n\nChapters:\n0:00 Evolving stadiums\n0:52 Superdome history \n1:32 The path to your seat and crowd control\n3:33 New concession stands\n4:54 The seating bowl\n6:42 What’s next for stadium innovation?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Superbowl #NFL #WSJ", "Architect Reveals How NFL Stadiums Are Engineered to Maximize Profit | WSJ Pro Perfected", 7, 460, false, "26LpMYEheyo", "https://www.youtube.com/watch?v=26LpMYEheyo", "/downloads/shows/Pro perfected/Season 2025/s2025e020300 - Architect Reveals How NFL Stadiums Are Engineered to Maximize Profit | WSJ Pro Perfected.mp4", false, ~U[2025-02-03 19:09:28Z]] 20:56:49.841 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.842 [debug] QUERY OK source="media_items" db=0.1ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-23 15:01:05Z], 7] 20:56:49.843 [debug] QUERY OK source="media_items" db=1.0ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Record travel this holiday season means more delays and cancellations, but a well-designed airport can ease the flow of millions. Seamless passenger flow reduces confusion, makes airports more money and helps prevent delays. But how can check-in, going through security and dealing with TSA and terminal configuration be best optimized?\n\nWSJ asked an architect to break down how airports can be built to better manage crowds.\n\nChapters:\n0:00 Impact of increased travel\n0:40 Landside: checking in\n2:37 Going through security\n4:38 Airside\n5:38 Terminal configuration\n7:04 Arrival areas\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Airport #Travel #WSJ", "Expert Explains Hidden Airport Design Tricks That Guide Travelers | WSJ Pro Perfected", "ff92f84a-889c-494e-bfcb-6555b524dd76", 7, [], 482, false, "oeJcvKZG2w8", "https://www.youtube.com/watch?v=oeJcvKZG2w8", 8, "/downloads/shows/Pro perfected/Season 2024/s2024e122300 - Expert Explains Hidden Airport Design Tricks That Guide Travelers | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2024-12-23 15:01:05Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "Record travel this holiday season means more delays and cancellations, but a well-designed airport can ease the flow of millions. Seamless passenger flow reduces confusion, makes airports more money and helps prevent delays. But how can check-in, going through security and dealing with TSA and terminal configuration be best optimized?\n\nWSJ asked an architect to break down how airports can be built to better manage crowds.\n\nChapters:\n0:00 Impact of increased travel\n0:40 Landside: checking in\n2:37 Going through security\n4:38 Airside\n5:38 Terminal configuration\n7:04 Arrival areas\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Airport #Travel #WSJ", "Expert Explains Hidden Airport Design Tricks That Guide Travelers | WSJ Pro Perfected", 7, 482, false, "oeJcvKZG2w8", "https://www.youtube.com/watch?v=oeJcvKZG2w8", "/downloads/shows/Pro perfected/Season 2024/s2024e122300 - Expert Explains Hidden Airport Design Tricks That Guide Travelers | WSJ Pro Perfected.mp4", false, ~U[2024-12-23 15:01:05Z]] 20:56:49.844 [debug] QUERY OK source="sources" db=0.1ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.844 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-10 15:00:12Z], 7] 20:56:49.846 [debug] QUERY OK source="media_items" db=0.9ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["From trains and traffic to concerts and sporting events, many cities around the world are dangerously loud. Noise pollution can have a huge impact on health and quality of life - causing stress and increasing risk for heart disease and other issues. So what are some of the tools that engineers have to limit loud noise?\n\nRaj Patel, an acoustics expert who helped design Manhattan’s Little Island waterfront park, explains how noise pollution can be minimized in metropolises like New York City.\n\nChapters:\n0:00 Noise pollution in cities\n0:52 Street noise and parks\n2:57 Subways\n5:15 Building insulation\nConcert venue\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Noise #NewYork #WSJ", "Acoustic Engineer Fixes NYC Subway, Parks and Buildings to Limit Noise | WSJ Pro Perfected", "07ee04e3-a509-4ccc-bdc0-cf3ef22918be", 7, [], 486, false, "5oXiOFR5Xyo", "https://www.youtube.com/watch?v=5oXiOFR5Xyo", 9, "/downloads/shows/Pro perfected/Season 2024/s2024e121000 - Acoustic Engineer Fixes NYC Subway, Parks and Buildings to Limit Noise | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2024-12-10 15:00:12Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "From trains and traffic to concerts and sporting events, many cities around the world are dangerously loud. Noise pollution can have a huge impact on health and quality of life - causing stress and increasing risk for heart disease and other issues. So what are some of the tools that engineers have to limit loud noise?\n\nRaj Patel, an acoustics expert who helped design Manhattan’s Little Island waterfront park, explains how noise pollution can be minimized in metropolises like New York City.\n\nChapters:\n0:00 Noise pollution in cities\n0:52 Street noise and parks\n2:57 Subways\n5:15 Building insulation\nConcert venue\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Noise #NewYork #WSJ", "Acoustic Engineer Fixes NYC Subway, Parks and Buildings to Limit Noise | WSJ Pro Perfected", 7, 486, false, "5oXiOFR5Xyo", "https://www.youtube.com/watch?v=5oXiOFR5Xyo", "/downloads/shows/Pro perfected/Season 2024/s2024e121000 - Acoustic Engineer Fixes NYC Subway, Parks and Buildings to Limit Noise | WSJ Pro Perfected.mp4", false, ~U[2024-12-10 15:00:12Z]] 20:56:49.846 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.847 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-25 14:00:24Z], 7] 20:56:49.851 [debug] QUERY OK source="media_items" db=3.4ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Commuter trains are renowned for potentially being cramped and crowded, but they don’t have to be that way. Tiny adjustments to a commuter train’s design – from the width of the doors to the position of the handholds – can have huge impacts on the speed that passengers can get on and off, and can make or break the economics of a train service. \n\nWSJ sits down with train manufacturer Alstom to discover what a perfected commuter train could look like.\n\nChapters:\n0:00 Train carriages are a blank slate\n0:38 What influences a train design\n2:00 Train doors\n2:49 Load monitoring\n4:23 Train seats\n5:15 Accessibility \n5:55 Why there aren’t more futuristic designs\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Train #Subway #WSJ", "Train Architect Designs the Perfect Commuter Train | WSJ Pro Perfected", "0da948b8-1431-4d46-a3ed-ce3ed0251415", 7, [], 426, false, "TGu9RBHPVz4", "https://www.youtube.com/watch?v=TGu9RBHPVz4", 10, "/downloads/shows/Pro perfected/Season 2024/s2024e102500 - Train Architect Designs the Perfect Commuter Train | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2024-10-25 14:00:24Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "Commuter trains are renowned for potentially being cramped and crowded, but they don’t have to be that way. Tiny adjustments to a commuter train’s design – from the width of the doors to the position of the handholds – can have huge impacts on the speed that passengers can get on and off, and can make or break the economics of a train service. \n\nWSJ sits down with train manufacturer Alstom to discover what a perfected commuter train could look like.\n\nChapters:\n0:00 Train carriages are a blank slate\n0:38 What influences a train design\n2:00 Train doors\n2:49 Load monitoring\n4:23 Train seats\n5:15 Accessibility \n5:55 Why there aren’t more futuristic designs\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Train #Subway #WSJ", "Train Architect Designs the Perfect Commuter Train | WSJ Pro Perfected", 7, 426, false, "TGu9RBHPVz4", "https://www.youtube.com/watch?v=TGu9RBHPVz4", "/downloads/shows/Pro perfected/Season 2024/s2024e102500 - Train Architect Designs the Perfect Commuter Train | WSJ Pro Perfected.mp4", false, ~U[2024-10-25 14:00:24Z]] 20:56:49.851 [debug] QUERY OK source="sources" db=0.2ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.852 [debug] QUERY OK source="media_items" db=0.2ms idle=5.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-26 14:30:26Z], 7] 20:56:49.853 [debug] QUERY OK source="media_items" db=0.9ms idle=5.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["An infamous interchange in Breezewood, Pa., forces drivers through a miles-long detour. But redesigning it could cripple the town’s economy, which has come to depend on the visitors. The route connects Washington DC and Baltimore with Pittsburgh and goes all the way through the Midwest. If you take that traffic away, what happens to the town?\n\nWSJ explains why it’s a traffic chokepoint and spoke with a transportation engineer on how to fix it. \n\nChapters:\n0:00 Infamous traffic chokepoint\n1:06 Building a cloverleaf\n2:25 Building ramps\n3:26 Why was it built like this?\n4:40 Make Breezewood more\n7:49 What’s next?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Infrastructure #Breezewood #WSJ", "What This Iconic Photo Says About America’s Road Planning | WSJ Pro Perfected", "ee1d6aeb-ac6d-46f3-a8fc-26dfa4ee485e", 7, [], 521, false, "z0C7rb9a4mk", "https://www.youtube.com/watch?v=z0C7rb9a4mk", 11, "/downloads/shows/Pro perfected/Season 2024/s2024e082600 - What This Iconic Photo Says About America’s Road Planning | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2024-08-26 14:30:26Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "An infamous interchange in Breezewood, Pa., forces drivers through a miles-long detour. But redesigning it could cripple the town’s economy, which has come to depend on the visitors. The route connects Washington DC and Baltimore with Pittsburgh and goes all the way through the Midwest. If you take that traffic away, what happens to the town?\n\nWSJ explains why it’s a traffic chokepoint and spoke with a transportation engineer on how to fix it. \n\nChapters:\n0:00 Infamous traffic chokepoint\n1:06 Building a cloverleaf\n2:25 Building ramps\n3:26 Why was it built like this?\n4:40 Make Breezewood more\n7:49 What’s next?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Infrastructure #Breezewood #WSJ", "What This Iconic Photo Says About America’s Road Planning | WSJ Pro Perfected", 7, 521, false, "z0C7rb9a4mk", "https://www.youtube.com/watch?v=z0C7rb9a4mk", "/downloads/shows/Pro perfected/Season 2024/s2024e082600 - What This Iconic Photo Says About America’s Road Planning | WSJ Pro Perfected.mp4", false, ~U[2024-08-26 14:30:26Z]] 20:56:49.854 [debug] QUERY OK source="sources" db=0.1ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.854 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-01 14:00:20Z], 7] 20:56:49.856 [debug] QUERY OK source="media_items" db=0.9ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["After Hurricane Sandy, New York invested $7.6 billion dollars into flood-proofing the subway – yet it still floods. So now, the Metropolitan Transit Authority (MTA) is seeking a further billion dollars to deploy new tactics, like those used in Taipei and Tokyo, where tsunamis are prevalent but their networks were designed with flooding in mind.\n\nWSJ spoke with an MTA engineer to see how the city is looking to improve subway flooding to keep some four million daily NYC subway riders moving. \n\nChapters:\n0:00 MTA spending\n0:54 Hurricane Sandy failures and normal operations\n3:03 Active storm surge protections\n5:27 Passive storm flood protections\n8:03 Bigger projects\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#NewYork #Subway #WSJ", "Why NYC’s Subway Keeps Flooding | WSJ Pro Perfected", "6f4c63ce-933e-4fd0-9008-433a314d62e3", 7, [], 550, false, "QVw-g-Trb9M", "https://www.youtube.com/watch?v=QVw-g-Trb9M", 12, "/downloads/shows/Pro perfected/Season 2024/s2024e080100 - Why NYC’s Subway Keeps Flooding | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2024-08-01 14:00:20Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "After Hurricane Sandy, New York invested $7.6 billion dollars into flood-proofing the subway – yet it still floods. So now, the Metropolitan Transit Authority (MTA) is seeking a further billion dollars to deploy new tactics, like those used in Taipei and Tokyo, where tsunamis are prevalent but their networks were designed with flooding in mind.\n\nWSJ spoke with an MTA engineer to see how the city is looking to improve subway flooding to keep some four million daily NYC subway riders moving. \n\nChapters:\n0:00 MTA spending\n0:54 Hurricane Sandy failures and normal operations\n3:03 Active storm surge protections\n5:27 Passive storm flood protections\n8:03 Bigger projects\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#NewYork #Subway #WSJ", "Why NYC’s Subway Keeps Flooding | WSJ Pro Perfected", 7, 550, false, "QVw-g-Trb9M", "https://www.youtube.com/watch?v=QVw-g-Trb9M", "/downloads/shows/Pro perfected/Season 2024/s2024e080100 - Why NYC’s Subway Keeps Flooding | WSJ Pro Perfected.mp4", false, ~U[2024-08-01 14:00:20Z]] 20:56:49.856 [debug] QUERY OK source="sources" db=0.1ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.857 [debug] QUERY OK source="media_items" db=0.1ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-10 14:00:28Z], 7] 20:56:49.862 [debug] QUERY OK source="media_items" db=5.1ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["From music festival lines to concession stand menus at stadiums, nearly every square foot of major event venues are designed to prioritize safety and boost revenue. Crowd control is vital for all key stages at an event including arrivals, halftime and departures. \n\nWSJ spoke with an expert on how to move tens of thousands of people through a major event to maximize profit and avoid disaster.\n\nChapters:\n0:00 Crowd control\n0:50 The arrivals curve\n1:42 Crowd psychology \n2:13 Art of the queue \n3:35 The concession stand\n4:35 Departures\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Safety #Concert #WSJ", "Expert Explains the Hidden Crowd Engineering Behind Event Venues | WSJ Pro Perfected", "1e89e850-eca6-44ff-8810-99c562c49179", 7, [], 409, false, "L2XfHREa0j0", "https://www.youtube.com/watch?v=L2XfHREa0j0", 13, "/downloads/shows/Pro perfected/Season 2024/s2024e071000 - Expert Explains the Hidden Crowd Engineering Behind Event Venues | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2024-07-10 14:00:28Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "From music festival lines to concession stand menus at stadiums, nearly every square foot of major event venues are designed to prioritize safety and boost revenue. Crowd control is vital for all key stages at an event including arrivals, halftime and departures. \n\nWSJ spoke with an expert on how to move tens of thousands of people through a major event to maximize profit and avoid disaster.\n\nChapters:\n0:00 Crowd control\n0:50 The arrivals curve\n1:42 Crowd psychology \n2:13 Art of the queue \n3:35 The concession stand\n4:35 Departures\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Safety #Concert #WSJ", "Expert Explains the Hidden Crowd Engineering Behind Event Venues | WSJ Pro Perfected", 7, 409, false, "L2XfHREa0j0", "https://www.youtube.com/watch?v=L2XfHREa0j0", "/downloads/shows/Pro perfected/Season 2024/s2024e071000 - Expert Explains the Hidden Crowd Engineering Behind Event Venues | WSJ Pro Perfected.mp4", false, ~U[2024-07-10 14:00:28Z]] 20:56:49.863 [debug] QUERY OK source="sources" db=0.3ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.864 [debug] QUERY OK source="media_items" db=0.4ms idle=7.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-01-17 15:00:45Z], 7] 20:56:49.865 [debug] QUERY OK source="media_items" db=1.0ms idle=7.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Venice, Italy, is sinking. The city spent about $6 billion on MOSE – a mobile floodgate system that rises to separate the Venetian lagoon from the Adriatic Sea, blocking high tides from inundating the city. But that might not be enough. Fifty years ago, the lowest point in Venice, St. Mark’s Square, only flooded forty times a year. Now, it floods 250 times a year.\n\nFrom pumping water into the city to super levees, WSJ asked an expert to explain potential engineering solutions to protect the “floating city” from being overrun by water.\n\nChapters:\n0:00 Venice flooding\n0:43 MOSE barriers\n3:01 Pumping salt water into aquifers\n4:57 Super levee\n7:07 Venice’s adaptations to rising tides\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Venice #Italy #WSJ", "Venice Is Drowning: Engineering Expert Explains How to Save It | WSJ Pro Perfected", "69d43d8b-0e5f-4420-9747-f0fa0f6fd6f4", 7, [], 462, false, "qwVKbAzh8fo", "https://www.youtube.com/watch?v=qwVKbAzh8fo", 14, "/downloads/shows/Pro perfected/Season 2024/s2024e011700 - Venice Is Drowning: Engineering Expert Explains How to Save It | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2024-01-17 15:00:45Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "Venice, Italy, is sinking. The city spent about $6 billion on MOSE – a mobile floodgate system that rises to separate the Venetian lagoon from the Adriatic Sea, blocking high tides from inundating the city. But that might not be enough. Fifty years ago, the lowest point in Venice, St. Mark’s Square, only flooded forty times a year. Now, it floods 250 times a year.\n\nFrom pumping water into the city to super levees, WSJ asked an expert to explain potential engineering solutions to protect the “floating city” from being overrun by water.\n\nChapters:\n0:00 Venice flooding\n0:43 MOSE barriers\n3:01 Pumping salt water into aquifers\n4:57 Super levee\n7:07 Venice’s adaptations to rising tides\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Venice #Italy #WSJ", "Venice Is Drowning: Engineering Expert Explains How to Save It | WSJ Pro Perfected", 7, 462, false, "qwVKbAzh8fo", "https://www.youtube.com/watch?v=qwVKbAzh8fo", "/downloads/shows/Pro perfected/Season 2024/s2024e011700 - Venice Is Drowning: Engineering Expert Explains How to Save It | WSJ Pro Perfected.mp4", false, ~U[2024-01-17 15:00:45Z]] 20:56:49.866 [debug] QUERY OK source="sources" db=0.1ms idle=8.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.867 [debug] QUERY OK source="media_items" db=0.4ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-09-03 14:00:23Z], 7] 20:56:49.868 [debug] QUERY OK source="media_items" db=0.9ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The global elevator and escalator market is expected to be over $145 billion by 2027 as skylines increasingly become taller. The Merdeka 118 building in Malaysia will become the world’s second tallest skyscraper in 2024 at 2,233 feet. But how do the elevators efficiently transport more than 10,000 people up and down the building every day? \n\nWSJ spoke with an elevator engineer expert who breaks down the strategies and challenges that come with designing an elevator system to service each of the Malaysian skyscraper’s 118 floors.\n\n0:00 Elevators in skyscrapers\n0:53 Optimizing for traffic flow\n2:28 How to handle capacity\n4:44 Speed of elevator\n5:29 Innovations\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Elevator #Design #WSJ", "Elevator Expert on How to Move 10,000 People Up a 118-Floor Skyscraper | WSJ Pro Perfected", "3a779d36-bdaf-4318-9675-378274dddc9c", 7, [], 482, false, "dK6XZvIt22w", "https://www.youtube.com/watch?v=dK6XZvIt22w", 15, "/downloads/shows/Pro perfected/Season 2023/s2023e090300 - Elevator Expert on How to Move 10,000 People Up a 118-Floor Skyscraper | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2023-09-03 14:00:23Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "The global elevator and escalator market is expected to be over $145 billion by 2027 as skylines increasingly become taller. The Merdeka 118 building in Malaysia will become the world’s second tallest skyscraper in 2024 at 2,233 feet. But how do the elevators efficiently transport more than 10,000 people up and down the building every day? \n\nWSJ spoke with an elevator engineer expert who breaks down the strategies and challenges that come with designing an elevator system to service each of the Malaysian skyscraper’s 118 floors.\n\n0:00 Elevators in skyscrapers\n0:53 Optimizing for traffic flow\n2:28 How to handle capacity\n4:44 Speed of elevator\n5:29 Innovations\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Elevator #Design #WSJ", "Elevator Expert on How to Move 10,000 People Up a 118-Floor Skyscraper | WSJ Pro Perfected", 7, 482, false, "dK6XZvIt22w", "https://www.youtube.com/watch?v=dK6XZvIt22w", "/downloads/shows/Pro perfected/Season 2023/s2023e090300 - Elevator Expert on How to Move 10,000 People Up a 118-Floor Skyscraper | WSJ Pro Perfected.mp4", false, ~U[2023-09-03 14:00:23Z]] 20:56:49.869 [debug] QUERY OK source="sources" db=0.6ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.869 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-07-21 17:00:07Z], 7] 20:56:49.871 [debug] QUERY OK source="media_items" db=0.9ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Many U.S. highways are plagued by outdated highway infrastructures and interchanges, which cause congestion and delays. Truckers call the intersection of Interstate 95 and SR 4 in Fort Lee, N.J., leading to the George Washington Bridge the most congested bottleneck in America. How could traffic be alleviated here to help the trucking industry become more efficient?\n\nTransportation engineer Varanesh Singh analyzes the worst bottleneck in America and looks at possible solutions, like a cross-harbor tunnel into New York City.\n\n0:00 I-95 and SR 4\n0:34 Cloverleafs and roundabouts\n2:36 Cross-harbor tunnel\n3:54 Improved transit system\n5:01 What’s next?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#UrbanPlanning #Traffic #WSJ", "Transportation Engineer Tries to Solve America's Worst Bottleneck | WSJ Pro Perfected", "2cfd801b-ac54-406d-904e-19fa85232add", 7, [], 380, false, "9SrkmNPBdiU", "https://www.youtube.com/watch?v=9SrkmNPBdiU", 16, "/downloads/shows/Pro perfected/Season 2023/s2023e072100 - Transportation Engineer Tries to Solve America's Worst Bottleneck | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2023-07-21 17:00:07Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "Many U.S. highways are plagued by outdated highway infrastructures and interchanges, which cause congestion and delays. Truckers call the intersection of Interstate 95 and SR 4 in Fort Lee, N.J., leading to the George Washington Bridge the most congested bottleneck in America. How could traffic be alleviated here to help the trucking industry become more efficient?\n\nTransportation engineer Varanesh Singh analyzes the worst bottleneck in America and looks at possible solutions, like a cross-harbor tunnel into New York City.\n\n0:00 I-95 and SR 4\n0:34 Cloverleafs and roundabouts\n2:36 Cross-harbor tunnel\n3:54 Improved transit system\n5:01 What’s next?\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#UrbanPlanning #Traffic #WSJ", "Transportation Engineer Tries to Solve America's Worst Bottleneck | WSJ Pro Perfected", 7, 380, false, "9SrkmNPBdiU", "https://www.youtube.com/watch?v=9SrkmNPBdiU", "/downloads/shows/Pro perfected/Season 2023/s2023e072100 - Transportation Engineer Tries to Solve America's Worst Bottleneck | WSJ Pro Perfected.mp4", false, ~U[2023-07-21 17:00:07Z]] 20:56:49.871 [debug] QUERY OK source="sources" db=0.1ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.872 [debug] QUERY OK source="media_items" db=0.1ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-04-18 14:09:28Z], 7] 20:56:49.873 [debug] QUERY OK source="media_items" db=0.8ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Economy airplane seats aren’t exactly ergonomic chairs. They push many passengers into uncomfortable positions that can be bad for their health. But size isn’t the only factor when it comes to comfort: providing better lumbar support, more leg room and several other changes could be key.\n\nWSJ spoke to an ergonomics expert about how to improve airplane seats to support frequent fliers better, adjusting the seat pan, seat pitch, headrests, and more. \n\n0:00 What could the perfect airplane seat look like?\n0:20 Lumbar support\n1:03 Headrest\n1:30 Seat pan\n2:25 Footrests\n3:05 Leg room\n3:53 Materials\n\n#Travel #Flight #WSJ", "Ergonomics Expert Designs the Perfect Airplane Seat | WSJ Pro Perfected", "5f52cedd-6953-4e69-8345-3da10b3273e0", 7, [], 367, false, "gT05MFzvUy8", "https://www.youtube.com/watch?v=gT05MFzvUy8", 17, "/downloads/shows/Pro perfected/Season 2023/s2023e041800 - Ergonomics Expert Designs the Perfect Airplane Seat | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2023-04-18 14:09:28Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "Economy airplane seats aren’t exactly ergonomic chairs. They push many passengers into uncomfortable positions that can be bad for their health. But size isn’t the only factor when it comes to comfort: providing better lumbar support, more leg room and several other changes could be key.\n\nWSJ spoke to an ergonomics expert about how to improve airplane seats to support frequent fliers better, adjusting the seat pan, seat pitch, headrests, and more. \n\n0:00 What could the perfect airplane seat look like?\n0:20 Lumbar support\n1:03 Headrest\n1:30 Seat pan\n2:25 Footrests\n3:05 Leg room\n3:53 Materials\n\n#Travel #Flight #WSJ", "Ergonomics Expert Designs the Perfect Airplane Seat | WSJ Pro Perfected", 7, 367, false, "gT05MFzvUy8", "https://www.youtube.com/watch?v=gT05MFzvUy8", "/downloads/shows/Pro perfected/Season 2023/s2023e041800 - Ergonomics Expert Designs the Perfect Airplane Seat | WSJ Pro Perfected.mp4", false, ~U[2023-04-18 14:09:28Z]] 20:56:49.874 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [7] 20:56:49.874 [debug] QUERY OK source="media_items" db=0.1ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-03-29 20:30:05Z], 7] 20:56:49.875 [debug] QUERY OK source="media_items" db=0.8ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Over the past 30 years, airplane economy seat width has shrunk by 4 four inches. But in the past year alone, airplane ticket prices have risen by around 25%.\n\nSo, how do you sleep more easily on flights? An expert ergonomist gives her tips on how to get comfortable in flight and shows the best positions for sleeping on a plane with a cheaper coach ticket.\n\n0:00 Meet Carla Jaspers, an occupational therapist and professional ergonomist\n0:31 Issues with sleeping on the tray table\n2:00 How to most effectively sleep in an upright position\n3:37 Other helpful tips for sleeping in coach\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Travel #Flight #WSJ", "Ergonomics Expert Explains How to Sleep on a Plane | WSJ Pro Perfected", "cfcca992-603b-4d05-bfb5-a92154d2d02d", 7, [], 291, false, "wpsXNdu1oYk", "https://www.youtube.com/watch?v=wpsXNdu1oYk", 18, "/downloads/shows/Pro perfected/Season 2023/s2023e032900 - Ergonomics Expert Explains How to Sleep on a Plane | WSJ Pro Perfected.mp4", false, false, false, 1, ~U[2023-03-29 20:30:05Z], ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], "Over the past 30 years, airplane economy seat width has shrunk by 4 four inches. But in the past year alone, airplane ticket prices have risen by around 25%.\n\nSo, how do you sleep more easily on flights? An expert ergonomist gives her tips on how to get comfortable in flight and shows the best positions for sleeping on a plane with a cheaper coach ticket.\n\n0:00 Meet Carla Jaspers, an occupational therapist and professional ergonomist\n0:31 Issues with sleeping on the tray table\n2:00 How to most effectively sleep in an upright position\n3:37 Other helpful tips for sleeping in coach\n\nPro Perfected\nExperts in engineering and design break down a ubiquitous problem, examining how the world is built and what can make it better.\n\n#Travel #Flight #WSJ", "Ergonomics Expert Explains How to Sleep on a Plane | WSJ Pro Perfected", 7, 291, false, "wpsXNdu1oYk", "https://www.youtube.com/watch?v=wpsXNdu1oYk", "/downloads/shows/Pro perfected/Season 2023/s2023e032900 - Ergonomics Expert Explains How to Sleep on a Plane | WSJ Pro Perfected.mp4", false, ~U[2023-03-29 20:30:05Z]] 20:56:49.876 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z], 7] 20:56:49.876 [debug] QUERY OK source="media_items" db=0.3ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 20:56:49.877 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [7] 20:56:49.877 [debug] QUERY OK source="media_items" db=0.1ms idle=3.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [7] 20:56:49.879 [debug] QUERY OK source="tasks" db=0.1ms idle=2.0ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [4847, 7, ~U[2026-04-16 18:56:49Z], ~U[2026-04-16 18:56:49Z]] 20:56:49.879 [info] {"args":{"id":7},"id":4776,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":58263139,"event":"job:stop","queue_time":30674,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 20:57:00.885 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:57:01.378 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:57:31.379 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:00.897 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:58:01.380 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:58:31.382 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:00.898 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 20:59:01.383 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 20:59:31.384 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:00.899 [info] {"source":"oban","duration":123,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:00:01.385 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:00:31.386 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:00.900 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:01:01.387 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:01:31.388 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:00.901 [info] {"source":"oban","duration":224,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:02:01.389 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:02:31.390 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:00.902 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:03:01.391 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:03:31.392 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:00.903 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:04:01.393 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:04:31.394 [info] {"source":"oban","duration":887,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:00.904 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:05:01.396 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:05:31.397 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:00.905 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:06:01.398 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:31.399 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:06:48.337 [info] GET / 21:06:48.337 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 21:06:48.338 [debug] QUERY OK source="settings" db=0.2ms idle=1549.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:06:48.339 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1550.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 21:06:48.339 [debug] QUERY OK source="sources" db=0.1ms idle=1550.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 21:06:48.342 [debug] QUERY OK source="media_items" db=3.5ms idle=1550.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:06:48.343 [debug] QUERY OK source="media_items" db=0.3ms idle=999.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:06:48.344 [debug] QUERY OK source="settings" db=0.2ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:06:48.344 [debug] QUERY OK source="settings" db=0.2ms 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 [] 21:06:48.345 [debug] QUERY OK source="settings" db=0.2ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:06:48.346 [debug] QUERY OK source="tasks" db=0.2ms idle=2.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"] 21:06:48.346 [debug] QUERY OK source="media_items" db=0.3ms idle=2.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 21:06:48.347 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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] 21:06:48.348 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 21:06:48.356 [debug] QUERY OK source="media_items" db=5.0ms idle=5.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"))) [] 21:06:48.362 [debug] QUERY OK source="media_items" db=5.7ms idle=10.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] 21:06:48.363 [info] Sent 200 in 25ms 21:06:53.830 [info] POST / 21:06:53.833 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/x-component" with extensions: [] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 21:06:53.834 [debug] QUERY OK source="settings" db=0.3ms idle=483.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:06:53.834 [debug] QUERY OK source="settings" db=0.1ms idle=46.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:06:53.834 [debug] Converted error Plug.Parsers.ParseError to 400 response 21:06:53.835 [error] #PID<0.668872.0> running PinchflatWeb.Endpoint (connection #PID<0.668871.0>, stream id 1) terminated Server: content.andreas-larsen.dk:80 (http) Request: POST / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Plug.Parsers.ParseError{ exception: %RuntimeError{ message: "invalid multipart, body terminated too soon" }, plug_status: 400 }, status: 400, stack: [ {Plug.Conn, :next_multipart, 3, [file: ~c"lib/plug/conn.ex", line: 1323, error_info: %{module: Exception}]}, {Plug.Conn, :read_part_headers, 6, [file: ~c"lib/plug/conn.ex", line: 1242]}, {Plug.Parsers.MULTIPART, :parse_multipart, 2, [file: ~c"lib/plug/parsers/multipart.ex", line: 156]}, {Plug.Parsers.MULTIPART, :parse, 5, [file: ~c"lib/plug/parsers/multipart.ex", line: 120]}, {Plug.Parsers, :reduce, 8, [file: ~c"lib/plug/parsers.ex", line: 341]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.668871.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 44164}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/x-component", "accept-encoding" => "gzip, br", "accept-language" => "en-US,en;q=0.9,de;q=0.8", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "34.66.168.154", "cf-ipcountry" => "US", "cf-ray" => "9ed578482ed010a5-ORD", "cf-visitor" => "{\"scheme\":\"https\"}", "content-encoding" => "gzip", "content-length" => "4880", "content-type" => "multipart/form-data; boundary=formdataobrwaDpMoBP1r3FOW4S", "host" => "content.andreas-larsen.dk", "next-action" => "4262e155f2d856c72fbccd1c4aa8dcbac8e63576", "origin" => "https://content.andreas-larsen.dk", "referer" => "https://content.andreas-larsen.dk/", "sec-ch-ua" => "\"Chromium\";v=\"138\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"Linux\"", "sec-fetch-dest" => "empty", "sec-fetch-mode" => "cors", "sec-fetch-site" => "same-origin", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36", "x-forwarded-for" => "34.66.168.154, 172.69.58.203", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.69.58.203" }, method: "POST", path_info: :undefined, body_length: 4880, qs: "", has_body: true, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Plug.Parsers.ParseError{ exception: %RuntimeError{ message: "invalid multipart, body terminated too soon" }, plug_status: 400 }, status: 400, stack: [ {Plug.Conn, :next_multipart, 3, [ file: ~c"lib/plug/conn.ex", line: 1323, error_info: %{module: Exception} ]}, {Plug.Conn, :read_part_headers, 6, [file: ~c"lib/plug/conn.ex", line: 1242]}, {Plug.Parsers.MULTIPART, :parse_multipart, 2, [file: ~c"lib/plug/parsers/multipart.ex", line: 156]}, {Plug.Parsers.MULTIPART, :parse, 5, [file: ~c"lib/plug/parsers/multipart.ex", line: 120]}, {Plug.Parsers, :reduce, 8, [file: ~c"lib/plug/parsers.ex", line: 341]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]} ], kind: :error, layout: {PinchflatWeb.Layouts, "app"} }, body_params: %Plug.Conn.Unfetched{aspect: :body_params}, cookies: %Plug.Conn.Unfetched{aspect: :cookies}, halted: false, host: "content.andreas-larsen.dk", method: "POST", owner: #PID<0.668872.0>, params: %{}, path_info: [], path_params: %{}, port: 80, private: %{ phoenix_template: "400.html", phoenix_view: %{_: PinchflatWeb.ErrorHTML}, phoenix_layout: %{_: {PinchflatWeb.Layouts, :app}}, phoenix_endpoint: PinchflatWeb.Endpoint, phoenix_format: "html", phoenix_root_layout: %{_: {PinchflatWeb.Layouts, :root}} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %Plug.Conn.Unfetched{aspect: :cookies}, req_headers: [ {"accept", "text/x-component"}, {"accept-encoding", "gzip, br"}, {"accept-language", "en-US,en;q=0.9,de;q=0.8"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "34.66.168.154"}, {"cf-ipcountry", "US"}, {"cf-ray", "9ed578482ed010a5-ORD"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"content-encoding", "gzip"}, {"content-length", "4880"}, {"content-type", "multipart/form-data; boundary=formdataobrwaDpMoBP1r3FOW4S"}, {"host", "content.andreas-larsen.dk"}, {"next-action", "4262e155f2d856c72fbccd1c4aa8dcbac8e63576"}, {"origin", "https://content.andreas-larsen.dk"}, {"referer", "https://content.andreas-larsen.dk/"}, {"sec-ch-ua", "\"Chromium\";v=\"138\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"Linux\""}, {"sec-fetch-dest", "empty"}, {"sec-fetch-mode", "cors"}, {"sec-fetch-site", "same-origin"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"}, {"x-forwarded-for", "34.66.168.154, 172.69.58.203"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.69.58.203"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [{"cache-control", "max-age=0, private, must-revalidate"}], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: 400 }, inner_content: "Bad Request" } (pinchflat 2025.9.26) lib/pinchflat_web/components/layouts/app.html.heex:8: anonymous fn/2 in PinchflatWeb.Layouts.app/1 (phoenix_live_view 1.0.17) lib/phoenix_live_view/engine.ex:149: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1 (phoenix_live_view 1.0.17) lib/phoenix_live_view/engine.ex:161: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/3 (phoenix 1.7.21) lib/phoenix/controller.ex:1008: anonymous fn/5 in Phoenix.Controller.template_render_to_iodata/4 (telemetry 1.3.0) /app/deps/telemetry/src/telemetry.erl:324: :telemetry.span/3 (phoenix 1.7.21) lib/phoenix/controller.ex:974: Phoenix.Controller.render_and_send/4 (phoenix 1.7.21) lib/phoenix/endpoint/render_errors.ex:86: Phoenix.Endpoint.RenderErrors.instrument_render_and_send/5 (phoenix 1.7.21) lib/phoenix/endpoint/render_errors.ex:63: Phoenix.Endpoint.RenderErrors.__catch__/5 21:06:55.047 [info] POST / 21:06:55.054 [debug] Could not render errors due to no supported media type in accept header. Expected one of ["html", "json"] but got the following formats: * "text/x-component" with extensions: [] To accept custom formats, register them under the :mime library in your config/config.exs file: config :mime, :types, %{ "application/xml" => ["xml"] } And then run `mix deps.clean --build mime` to force it to be recompiled. . Errors will be rendered using the first accepted format "html" as fallback. Please customize the :formats option under the :render_errors configuration in your endpoint if you want to support other formats or choose another fallback 21:06:55.054 [debug] QUERY OK source="settings" db=0.2ms idle=1265.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 21:06:55.054 [debug] QUERY OK source="settings" db=0.1ms 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 [] 21:06:55.055 [debug] Converted error Plug.Parsers.ParseError to 400 response 21:06:55.055 [error] #PID<0.668873.0> running PinchflatWeb.Endpoint (connection #PID<0.668871.0>, stream id 2) terminated Server: content.andreas-larsen.dk:80 (http) Request: POST / ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Plug.Parsers.ParseError{ exception: %RuntimeError{ message: "invalid multipart, body terminated too soon" }, plug_status: 400 }, status: 400, stack: [ {Plug.Conn, :next_multipart, 3, [file: ~c"lib/plug/conn.ex", line: 1323, error_info: %{module: Exception}]}, {Plug.Conn, :read_part_headers, 6, [file: ~c"lib/plug/conn.ex", line: 1242]}, {Plug.Parsers.MULTIPART, :parse_multipart, 2, [file: ~c"lib/plug/parsers/multipart.ex", line: 156]}, {Plug.Parsers.MULTIPART, :parse, 5, [file: ~c"lib/plug/parsers/multipart.ex", line: 120]}, {Plug.Parsers, :reduce, 8, [file: ~c"lib/plug/parsers.ex", line: 341]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.668871.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 44164}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/x-component", "accept-encoding" => "gzip, br", "accept-language" => "en-US,en;q=0.9", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "34.66.168.154", "cf-ipcountry" => "US", "cf-ray" => "9ed5784e0b55253a-ORD", "cf-visitor" => "{\"scheme\":\"https\"}", "content-encoding" => "gzip", "content-length" => "17098", "content-type" => "multipart/form-data; boundary=geckopartNi9IkP7EnoS3JNnes08qs0a3w8fy", "host" => "content.andreas-larsen.dk", "next-action" => "18c4d82854f88166cb4e2c0a860858deea2f5e2c", "origin" => "https://content.andreas-larsen.dk", "referer" => "https://content.andreas-larsen.dk/", "sec-ch-ua" => "\"Chromium\";v=\"132\", \"Not_A Brand\";v=\"24\"", "sec-ch-ua-mobile" => "?0", "sec-ch-ua-platform" => "\"macOS\"", "sec-fetch-dest" => "empty", "sec-fetch-mode" => "cors", "sec-fetch-site" => "same-origin", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36", "x-forwarded-for" => "34.66.168.154, 172.70.100.241", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.70.100.241" }, method: "POST", path_info: :undefined, body_length: 17098, qs: "", has_body: true, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Plug.Parsers.ParseError{ exception: %RuntimeError{ message: "invalid multipart, body terminated too soon" }, plug_status: 400 }, status: 400, stack: [ {Plug.Conn, :next_multipart, 3, [ file: ~c"lib/plug/conn.ex", line: 1323, error_info: %{module: Exception} ]}, {Plug.Conn, :read_part_headers, 6, [file: ~c"lib/plug/conn.ex", line: 1242]}, {Plug.Parsers.MULTIPART, :parse_multipart, 2, [file: ~c"lib/plug/parsers/multipart.ex", line: 156]}, {Plug.Parsers.MULTIPART, :parse, 5, [file: ~c"lib/plug/parsers/multipart.ex", line: 120]}, {Plug.Parsers, :reduce, 8, [file: ~c"lib/plug/parsers.ex", line: 341]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]} ], kind: :error, layout: {PinchflatWeb.Layouts, "app"} }, body_params: %Plug.Conn.Unfetched{aspect: :body_params}, cookies: %Plug.Conn.Unfetched{aspect: :cookies}, halted: false, host: "content.andreas-larsen.dk", method: "POST", owner: #PID<0.668873.0>, params: %{}, path_info: [], path_params: %{}, port: 80, private: %{ phoenix_template: "400.html", phoenix_view: %{_: PinchflatWeb.ErrorHTML}, phoenix_layout: %{_: {PinchflatWeb.Layouts, :app}}, phoenix_endpoint: PinchflatWeb.Endpoint, phoenix_format: "html", phoenix_root_layout: %{_: {PinchflatWeb.Layouts, :root}} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %Plug.Conn.Unfetched{aspect: :cookies}, req_headers: [ {"accept", "text/x-component"}, {"accept-encoding", "gzip, br"}, {"accept-language", "en-US,en;q=0.9"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "34.66.168.154"}, {"cf-ipcountry", "US"}, {"cf-ray", "9ed5784e0b55253a-ORD"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"content-encoding", "gzip"}, {"content-length", "17098"}, {"content-type", "multipart/form-data; boundary=geckopartNi9IkP7EnoS3JNnes08qs0a3w8fy"}, {"host", "content.andreas-larsen.dk"}, {"next-action", "18c4d82854f88166cb4e2c0a860858deea2f5e2c"}, {"origin", "https://content.andreas-larsen.dk"}, {"referer", "https://content.andreas-larsen.dk/"}, {"sec-ch-ua", "\"Chromium\";v=\"132\", \"Not_A Brand\";v=\"24\""}, {"sec-ch-ua-mobile", "?0"}, {"sec-ch-ua-platform", "\"macOS\""}, {"sec-fetch-dest", "empty"}, {"sec-fetch-mode", "cors"}, {"sec-fetch-site", "same-origin"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36"}, {"x-forwarded-for", "34.66.168.154, 172.70.100.241"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.70.100.241"} ], request_path: "/", resp_body: nil, resp_cookies: %{}, resp_headers: [{"cache-control", "max-age=0, private, must-revalidate"}], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: 400 }, inner_content: "Bad Request" } (pinchflat 2025.9.26) lib/pinchflat_web/components/layouts/app.html.heex:8: anonymous fn/2 in PinchflatWeb.Layouts.app/1 (phoenix_live_view 1.0.17) lib/phoenix_live_view/engine.ex:149: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/1 (phoenix_live_view 1.0.17) lib/phoenix_live_view/engine.ex:161: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/3 (phoenix 1.7.21) lib/phoenix/controller.ex:1008: anonymous fn/5 in Phoenix.Controller.template_render_to_iodata/4 (telemetry 1.3.0) /app/deps/telemetry/src/telemetry.erl:324: :telemetry.span/3 (phoenix 1.7.21) lib/phoenix/controller.ex:974: Phoenix.Controller.render_and_send/4 (phoenix 1.7.21) lib/phoenix/endpoint/render_errors.ex:86: Phoenix.Endpoint.RenderErrors.instrument_render_and_send/5 (phoenix 1.7.21) lib/phoenix/endpoint/render_errors.ex:63: Phoenix.Endpoint.RenderErrors.__catch__/5 21:07:00.906 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:07:01.400 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:07:31.400 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:00.907 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:08:01.402 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:08:31.403 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:00.908 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:09:01.404 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:09:31.405 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:00.909 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:10:01.406 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:10:31.407 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:00.910 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:11:01.408 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:11:31.409 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:00.911 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:12:01.410 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:12:31.411 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:00.912 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:13:01.412 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:13:31.413 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:00.913 [info] {"source":"oban","duration":265,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:14:01.414 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:14:31.415 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:00.914 [info] {"source":"oban","duration":159,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:15:01.416 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:15:31.417 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:00.915 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:16:01.418 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:16:31.419 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:00.916 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:17:01.420 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:17:31.421 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:00.917 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:18:01.422 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:18:31.423 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:00.918 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:19:01.424 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:19:31.425 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:00.919 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:20:01.426 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:20:31.427 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:00.920 [info] {"source":"oban","duration":224,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:21:01.428 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:21:31.429 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:00.921 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:22:01.430 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:22:31.431 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:00.922 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:23:01.432 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:23:31.433 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:00.923 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:24:01.434 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:24:31.435 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:00.924 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:25:01.436 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:25:31.437 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:00.925 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:26:01.438 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:26:31.439 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:00.926 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:27:01.440 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:27:31.441 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:00.927 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:28:01.442 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:28:31.443 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:00.928 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:29:01.444 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:29:31.445 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:00.929 [info] {"source":"oban","duration":109,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:30:01.446 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:30:31.447 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:00.930 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:31:01.448 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:31:31.449 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:00.931 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:32:01.450 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:32:31.451 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:00.932 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:33:01.452 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:33:31.453 [info] {"source":"oban","duration":976,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:00.933 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:34:01.455 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:34:31.456 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:00.934 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:35:01.457 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:35:31.458 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:00.935 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:36:01.459 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:36:31.460 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:00.936 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:37:01.461 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:37:31.462 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:00.937 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:38:01.462 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:38:31.464 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:00.938 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:39:01.465 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:39:31.466 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:00.939 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:40:01.467 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:40:31.468 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:00.940 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:41:01.469 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:41:31.470 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:00.941 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:42:01.471 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:42:31.472 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:00.942 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:43:01.473 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:43:31.474 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:00.943 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:44:01.475 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:44:31.476 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:00.944 [info] {"source":"oban","duration":136,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:45:01.477 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:45:31.478 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:00.945 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:46:01.479 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:46:31.480 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:00.946 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:47:01.481 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:47:31.482 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:00.947 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:48:01.483 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:48:31.484 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:00.948 [info] {"source":"oban","duration":233,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:49:01.485 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:49:31.486 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:00.949 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:50:01.487 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:50:31.488 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:00.950 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:51:01.489 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:51:31.490 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:00.951 [info] {"source":"oban","duration":228,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:52:01.491 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:52:31.492 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:00.952 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:53:01.493 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:53:31.494 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:00.953 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:54:01.494 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:54:31.496 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:00.954 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:55:01.497 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:55:31.498 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:00.955 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:56:01.499 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:56:31.500 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:00.956 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:57:01.501 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:57:31.502 [info] {"source":"oban","duration":817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:00.957 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:58:01.504 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:58:31.505 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:00.958 [info] {"source":"oban","duration":212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 21:59:01.506 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 21:59:31.507 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:00.959 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:00:01.508 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:00:31.509 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:00.960 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:01:01.510 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:01:31.511 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:00.961 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:02:01.512 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:02:31.513 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:00.962 [info] {"source":"oban","duration":227,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:03:01.514 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:03:31.515 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:00.963 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:04:01.516 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:04:31.517 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:00.964 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:05:01.518 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:05:31.519 [info] {"source":"oban","duration":1131,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:00.965 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:06:01.521 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:06:31.522 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:00.966 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:07:01.523 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:07:31.524 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:00.967 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:08:01.525 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:08:31.526 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:00.968 [info] {"source":"oban","duration":228,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:09:01.527 [info] {"source":"oban","duration":1069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:09:31.529 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:00.969 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:10:01.529 [info] {"source":"oban","duration":521,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:10:31.530 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:00.970 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:11:01.532 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:11:31.533 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:00.971 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:12:01.534 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:12:31.535 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:00.972 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:13:01.536 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:13:31.537 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:00.973 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:14:01.538 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:14:31.539 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:00.974 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:15:01.540 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:15:31.541 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:00.975 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:16:01.542 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:16:31.543 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:00.976 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:17:01.544 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:17:31.545 [info] {"source":"oban","duration":1002,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:00.977 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:18:01.547 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:18:31.548 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:00.978 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:19:01.549 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:19:31.550 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:00.979 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:20:01.551 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:20:31.552 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:00.980 [info] {"source":"oban","duration":238,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:21:01.553 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:21:31.555 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:00.981 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:22:01.556 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:22:31.557 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:00.982 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:23:01.558 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:23:31.559 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:00.983 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:24:01.560 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:24:31.561 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:00.984 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:25:01.562 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:25:31.563 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:00.985 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:26:01.564 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:26:31.564 [info] {"source":"oban","duration":558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:00.986 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:27:01.565 [info] {"source":"oban","duration":504,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:27:31.568 [info] {"source":"oban","duration":1759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:00.987 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:28:01.569 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:28:31.570 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:00.988 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:29:01.571 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:29:31.572 [info] {"source":"oban","duration":1189,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:00.989 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:30:01.574 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:30:31.575 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:00.990 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:31:01.576 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:31:31.577 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:00.991 [info] {"source":"oban","duration":227,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:32:01.578 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:32:31.579 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 22:33:00.992 [info] {"source":"oban","duration":140,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:33:01.581 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:33:31.582 [info] {"source":"oban","duration":877,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:00.993 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:34:01.584 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:34:31.585 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:00.994 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:35:01.586 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:35:31.587 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:00.995 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:36:01.588 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:36:31.589 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:00.996 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:37:01.590 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:37:31.591 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:00.997 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:38:01.592 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:38:31.593 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:00.998 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:39:01.594 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:39:31.595 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:00.999 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:40:01.596 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:40:31.597 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:01.000 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:41:01.598 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:41:31.599 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:00.001 [info] {"source":"oban","duration":233,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:42:01.600 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:42:31.601 [info] {"source":"oban","duration":599,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:00.002 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:43:01.602 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:43:31.603 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:00.003 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:44:01.604 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:44:31.605 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:00.004 [info] {"source":"oban","duration":236,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:45:01.606 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:45:31.607 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:00.005 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:46:01.608 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:46:31.609 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:00.006 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:47:01.610 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:47:31.611 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:00.007 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:48:01.612 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:48:31.613 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:00.008 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:49:01.614 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:49:31.615 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:00.009 [info] {"source":"oban","duration":150,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:50:01.616 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:50:31.617 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:00.010 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:51:01.618 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:51:31.619 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:00.011 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:52:01.620 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:52:31.621 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:00.012 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:53:01.622 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:53:31.623 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:00.013 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:54:01.624 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:54:31.625 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:00.014 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:55:01.626 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:55:31.627 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:00.015 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:56:01.628 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:56:31.629 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:00.016 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:57:01.630 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:57:31.631 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:00.017 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:58:01.632 [info] {"source":"oban","duration":631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:58:31.633 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:00.018 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 22:59:01.633 [info] {"source":"oban","duration":538,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 22:59:31.635 [info] {"source":"oban","duration":965,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:00.019 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:00:01.637 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:00:31.638 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:00.021 [info] {"source":"oban","duration":960,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:01:01.639 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:01:31.640 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:00.022 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:02:01.641 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:02:31.642 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:00.023 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:03:01.643 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:03:31.644 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:00.025 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:04:01.645 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:04:31.646 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:00.025 [info] {"source":"oban","duration":137,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:05:01.647 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:05:31.648 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:00.026 [info] {"source":"oban","duration":223,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:06:01.649 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:06:31.650 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:00.027 [info] {"source":"oban","duration":527,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:07:01.651 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:07:31.652 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:00.031 [info] {"source":"oban","duration":367,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:08:01.653 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:08:31.654 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:00.032 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:09:01.655 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:09:31.656 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:00.033 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:10:01.657 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:10:31.658 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:00.034 [info] {"source":"oban","duration":212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:11:01.659 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:11:31.660 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:00.036 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:12:01.661 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:12:31.662 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:00.036 [info] {"source":"oban","duration":300,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:13:01.663 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:13:31.664 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:00.037 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:14:01.665 [info] {"source":"oban","duration":579,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:14:31.666 [info] {"source":"oban","duration":607,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:00.040 [info] {"source":"oban","duration":1337,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:15:01.666 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:15:31.668 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:00.043 [info] {"source":"oban","duration":1601,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:16:01.669 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:16:31.670 [info] {"source":"oban","duration":893,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:00.055 [info] {"source":"oban","duration":9755,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:17:01.672 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:17:31.673 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:00.056 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:18:01.674 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:18:31.675 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:00.057 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:19:01.676 [info] {"source":"oban","duration":1181,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:19:31.678 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:00.058 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:20:01.679 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:20:31.680 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:00.059 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:21:01.681 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:21:31.682 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:00.060 [info] {"source":"oban","duration":246,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:22:01.683 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:22:31.684 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:00.061 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:23:01.685 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:23:31.686 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:00.062 [info] {"source":"oban","duration":241,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:24:01.687 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:24:31.688 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:00.063 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:25:01.690 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:25:31.691 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:00.064 [info] {"source":"oban","duration":259,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:26:01.692 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:26:31.693 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:00.066 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:27:01.694 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:27:31.695 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:00.066 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:28:01.696 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:28:31.697 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:00.067 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:29:01.698 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:29:31.699 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:00.068 [info] {"source":"oban","duration":449,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:30:01.700 [info] {"source":"oban","duration":627,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:30:31.701 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:00.069 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:31:01.702 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:31:31.703 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:00.070 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:32:01.704 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:32:31.705 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:00.071 [info] {"source":"oban","duration":238,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:33:01.706 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:33:31.707 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:00.072 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:34:01.708 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:34:31.709 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:00.073 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:35:01.710 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:35:31.711 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:00.074 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:36:01.712 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:36:31.713 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:00.076 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:37:01.715 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:37:31.716 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:00.076 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:38:01.717 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:38:31.718 [info] {"source":"oban","duration":947,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 23:39:00.081 [info] {"source":"oban","duration":2098,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:39:01.720 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:39:31.721 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:00.081 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:40:01.722 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:40:31.723 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:00.082 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:41:01.724 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:41:31.725 [info] {"source":"oban","duration":936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:00.083 [info] {"source":"oban","duration":222,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:42:01.727 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:42:31.728 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:00.084 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:43:01.729 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:43:31.730 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:00.085 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:44:01.731 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:44:31.732 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:00.086 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:45:01.733 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:45:31.734 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:00.087 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:46:01.735 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:46:31.736 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:00.088 [info] {"source":"oban","duration":228,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:47:01.737 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:47:31.738 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:00.089 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:48:01.738 [info] {"source":"oban","duration":490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:48:31.740 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:00.090 [info] {"source":"oban","duration":255,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:49:01.741 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:49:31.742 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:00.091 [info] {"source":"oban","duration":241,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:50:01.743 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:50:31.744 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:00.092 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:51:01.745 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:51:31.746 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:00.093 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:52:01.747 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:52:31.748 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:00.094 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:53:01.749 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:53:31.751 [info] {"source":"oban","duration":1962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:00.095 [info] {"source":"oban","duration":141,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:54:01.753 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:54:31.754 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:00.096 [info] {"source":"oban","duration":243,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:55:01.755 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:55:31.756 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:00.097 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:56:01.757 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:56:31.758 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:00.098 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:57:01.759 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:57:31.760 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:00.099 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:58:01.761 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:58:31.762 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:00.100 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 23:59:01.763 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 23:59:31.764 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:00.101 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:00:01.767 [info] {"source":"oban","duration":3135,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:00:31.769 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:00.102 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:01:01.770 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:01:31.771 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:00.103 [info] {"source":"oban","duration":241,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:02:01.772 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:02:31.773 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:00.104 [info] {"source":"oban","duration":246,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:03:01.774 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:03:31.775 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:00.105 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:04:01.775 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:04:31.776 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:00.106 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:05:01.778 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:05:31.779 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:00.107 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:06:01.780 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:06:31.781 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:00.108 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:07:01.782 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:07:31.783 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:00.109 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:08:01.784 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:08:31.785 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:00.110 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:09:01.787 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:09:31.788 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:00.111 [info] {"source":"oban","duration":138,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:10:01.789 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:10:31.790 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:00.112 [info] {"source":"oban","duration":217,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:11:01.791 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:11:31.792 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:00.113 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:12:01.793 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:12:31.794 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:00.114 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:13:01.795 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:13:31.796 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:00.115 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:14:01.797 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:14:31.798 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:00.116 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:15:01.799 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:15:31.800 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:00.117 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:16:01.801 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:16:31.802 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:00.118 [info] {"source":"oban","duration":233,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:17:01.803 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:17:31.804 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:00.119 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:18:01.805 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:18:31.806 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:00.120 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:19:01.807 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:19:31.808 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:00.121 [info] {"source":"oban","duration":227,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:20:01.809 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:20:31.809 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:00.122 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:21:01.811 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:21:31.812 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:00.123 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:22:01.813 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:22:31.814 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:00.124 [info] {"source":"oban","duration":232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:23:01.815 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:23:31.816 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:00.125 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:24:01.817 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:24:31.818 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:00.126 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:25:01.819 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:25:31.820 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:00.127 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:26:01.821 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:26:31.822 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:00.159 [info] {"source":"oban","duration":7545,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:27:01.824 [info] {"source":"oban","duration":2073,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:27:31.826 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:00.160 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:28:01.827 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:28:31.828 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:00.161 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:29:01.869 [info] {"source":"oban","duration":28651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:29:31.871 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:30:00.162 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:30:01.872 [info] {"source":"oban","duration":928,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 00:30:31.874 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:00.163 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:31:01.875 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:31:31.876 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:00.164 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:32:01.877 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:32:31.878 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:00.165 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:33:01.879 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:33:31.880 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:00.166 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:34:01.881 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:34:31.882 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:00.167 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:35:01.883 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:35:31.884 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:00.168 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:36:01.885 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:36:31.886 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:00.169 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:37:01.887 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:37:31.887 [info] {"source":"oban","duration":514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:00.170 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:38:01.889 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:38:31.890 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:00.171 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:39:01.891 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:39:31.892 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:00.172 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:40:01.893 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:40:31.894 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:00.173 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:41:01.895 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:41:31.896 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:00.174 [info] {"source":"oban","duration":136,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:42:01.897 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:42:31.898 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:00.175 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:43:01.899 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:43:31.900 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:00.176 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:44:01.901 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:44:31.902 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:00.177 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:45:01.903 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:45:31.904 [info] {"source":"oban","duration":1388,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:00.178 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:46:01.906 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:46:31.907 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:00.179 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:47:01.908 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:31.909 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:47:42.547 [info] {"args":{"id":9},"id":4844,"meta":{},"system_time":1776379662547408269,"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"]} 00:47:42.548 [debug] QUERY OK source="sources" db=0.7ms idle=1618.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:47:42.548 [debug] QUERY OK source="settings" db=0.1ms idle=1619.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:47:42.549 [debug] QUERY OK source="media_items" db=0.3ms idle=1009.9ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 00:47:42.549 [debug] QUERY OK source="media_items" db=0.1ms idle=9.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 00:47:42.550 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:47:42.550 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:47:42.550 [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 [] 00:47:42.551 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 00:47:42.551 [debug] Current batch of media processed. Will check again in 1000ms 00:47:42.551 [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 [] 00:47:42.551 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 00:47:42.552 [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 [] 00:47:42.552 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/playlist?list=PLUUVA1IsKg-WqgEu55gWCHpi8Wfs_YqcZ&si=z1kjgb4xIhCbOdG_ --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Claire Recreates/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/cc/44/cc44086eabd09a04552d0c682957c1da5dea3111cf3985f4ea8906a5b11fdf62.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 00:47:43.552 [debug] Current batch of media processed. Will check again in 1000ms 00:47:44.553 [debug] Current batch of media processed. Will check again in 1000ms 00:47:45.554 [debug] Current batch of media processed. Will check again in 1000ms 00:47:46.555 [debug] Current batch of media processed. Will check again in 1000ms 00:47:47.556 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Drumsticks | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Nestle Drumsticks, The Original Ice Cream Cone. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #icecream #drumsticks \n\nCHAPTERS:\n00:00 Intro\n00:54 Snack breakdown\n03:29 Measurements\n04:43 Original ingredients\n05:15 Game plan\n06:15 Make and form cones\n18:13 Bake the cones\n19:53 Make the chocolate coating\n23:03 Make the ice cream\n32:05 Form the bulbs\n33:26 The next morning\n34:04 Make the magic shell\n37:29 Taste test\n41:59 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make the cones, combine 3 ounces room temp egg whites, ¼ cup granulated sugar, ¼ up demerara sugar, 3 tablespoons melted cooled butter, 2 teaspoons vanilla extract, ½ cup flour, 1 tablespoon cornstarch, ½ teaspoon kosher salt, and ¼ teaspoon baking soda and blend with a hand blender until completely smooth. Transfer the batter to a piping bag and pipe some onto the grates of a preheated electric waffle cone iron. Cook just until it’s set but pale, then transfer the piece to a cutting board and trace around a football-shaped stencil with a wheel cutter. Remove the excess, return the piece to the iron, and cook until golden brown all over. Form the cone around a mold, pressing firmly on the seam. Repeat with more batter. Dry the cones in a 200-degree oven upside down on a rack set over a baking sheet,, then let cool. Brush the insides of the cones with a thin layer of melted chocolate, depositing a half teaspoon of chocolate in the bottom of each. Place the cones on a rack in the freezer. \n\nTo make the ice cream, vigorously whisk 8 large egg yolks, 1 cup granulated sugar, 30g malted milk powder, ½ teaspoon kosher salt, and 1 tablespoon vanilla paste in the bottom of a large saucepan until pale and ribbony. Whisk in 3 cups whole milk and 1 cup heavy cream. Cook the mixture, whisking constantly over medium heat, until it registers 180-degrees. Cool the mixture rapidly in an ice bath, then transfer to an ice cream machine and spin until the ice cream holds its shape. Transfer some of the ice cream to a piping bag and fill the chocolate-coated cones, smoothing the tops, then transfer the rest of the ice cream to a chilled loaf pan and freeze solid. Scooping from the loaf pan, place a scoop of ice cream over the top of each cone, smoothing with a small offset spatula to form nice domes. Freeze the cones overnight, then melt chocolate and coconut oil together to make a magic shell. Dip the cones in the shell, shaking off excess, then gently roll in very evenly chopped and sifted roasted salted peanuts. Freeze until form, at least 20 minutes.", "duration" => 2534, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e043000 - I Tried Making Homemade Drumsticks | Claire Recreates.mkv", "id" => "Qd0TQeVQ2Z0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Qd0TQeVQ2Z0", "playlist_index" => 1, "timestamp" => 1714482032, "title" => "I Tried Making Homemade Drumsticks | Claire Recreates", "upload_date" => "20240430"} 00:47:47.557 [debug] QUERY OK source="sources" db=0.1ms idle=1627.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:47:47.557 [debug] QUERY OK source="sources" db=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" = ?) [9] 00:47:47.558 [debug] QUERY OK source="media_items" db=0.2ms idle=1628.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-04-30 13:00:32Z], 9] 00:47:47.560 [debug] QUERY OK source="media_items" db=1.8ms idle=1013.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Drumsticks | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Nestle Drumsticks, The Original Ice Cream Cone. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #icecream #drumsticks \n\nCHAPTERS:\n00:00 Intro\n00:54 Snack breakdown\n03:29 Measurements\n04:43 Original ingredients\n05:15 Game plan\n06:15 Make and form cones\n18:13 Bake the cones\n19:53 Make the chocolate coating\n23:03 Make the ice cream\n32:05 Form the bulbs\n33:26 The next morning\n34:04 Make the magic shell\n37:29 Taste test\n41:59 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make the cones, combine 3 ounces room temp egg whites, ¼ cup granulated sugar, ¼ up demerara sugar, 3 tablespoons melted cooled butter, 2 teaspoons vanilla extract, ½ cup flour, 1 tablespoon cornstarch, ½ teaspoon kosher salt, and ¼ teaspoon baking soda and blend with a hand blender until completely smooth. Transfer the batter to a piping bag and pipe some onto the grates of a preheated electric waffle cone iron. Cook just until it’s set but pale, then transfer the piece to a cutting board and trace around a football-shaped stencil with a wheel cutter. Remove the excess, return the piece to the iron, and cook until golden brown all over. Form the cone around a mold, pressing firmly on the seam. Repeat with more batter. Dry the cones in a 200-degree oven upside down on a rack set over a baking sheet,, then let cool. Brush the insides of the cones with a thin layer of melted chocolate, depositing a half teaspoon of chocolate in the bottom of each. Place the cones on a rack in the freezer. \n\nTo make the ice cream, vigorously whisk 8 large egg yolks, 1 cup granulated sugar, 30g malted milk powder, ½ teaspoon kosher salt, and 1 tablespoon vanilla paste in the bottom of a large saucepan until pale and ribbony. Whisk in 3 cups whole milk and 1 cup heavy cream. Cook the mixture, whisking constantly over medium heat, until it registers 180-degrees. Cool the mixture rapidly in an ice bath, then transfer to an ice cream machine and spin until the ice cream holds its shape. Transfer some of the ice cream to a piping bag and fill the chocolate-coated cones, smoothing the tops, then transfer the rest of the ice cream to a chilled loaf pan and freeze solid. Scooping from the loaf pan, place a scoop of ice cream over the top of each cone, smoothing with a small offset spatula to form nice domes. Freeze the cones overnight, then melt chocolate and coconut oil together to make a magic shell. Dip the cones in the shell, shaking off excess, then gently roll in very evenly chopped and sifted roasted salted peanuts. Freeze until form, at least 20 minutes.", "I Tried Making Homemade Drumsticks | Claire Recreates", "b7a4c61d-2908-4dc9-b95f-03653b8b508a", 9, [], 2534, false, "Qd0TQeVQ2Z0", "https://www.youtube.com/watch?v=Qd0TQeVQ2Z0", 1, "/downloads/shows/Claire Recreates/Season 2024/s2024e043000 - I Tried Making Homemade Drumsticks | Claire Recreates.mkv", false, false, false, 1, ~U[2024-04-30 13:00:32Z], ~U[2026-04-16 22:47:47Z], ~U[2026-04-16 22:47:47Z], "I Tried Making Homemade Drumsticks | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Nestle Drumsticks, The Original Ice Cream Cone. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #icecream #drumsticks \n\nCHAPTERS:\n00:00 Intro\n00:54 Snack breakdown\n03:29 Measurements\n04:43 Original ingredients\n05:15 Game plan\n06:15 Make and form cones\n18:13 Bake the cones\n19:53 Make the chocolate coating\n23:03 Make the ice cream\n32:05 Form the bulbs\n33:26 The next morning\n34:04 Make the magic shell\n37:29 Taste test\n41:59 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make the cones, combine 3 ounces room temp egg whites, ¼ cup granulated sugar, ¼ up demerara sugar, 3 tablespoons melted cooled butter, 2 teaspoons vanilla extract, ½ cup flour, 1 tablespoon cornstarch, ½ teaspoon kosher salt, and ¼ teaspoon baking soda and blend with a hand blender until completely smooth. Transfer the batter to a piping bag and pipe some onto the grates of a preheated electric waffle cone iron. Cook just until it’s set but pale, then transfer the piece to a cutting board and trace around a football-shaped stencil with a wheel cutter. Remove the excess, return the piece to the iron, and cook until golden brown all over. Form the cone around a mold, pressing firmly on the seam. Repeat with more batter. Dry the cones in a 200-degree oven upside down on a rack set over a baking sheet,, then let cool. Brush the insides of the cones with a thin layer of melted chocolate, depositing a half teaspoon of chocolate in the bottom of each. Place the cones on a rack in the freezer. \n\nTo make the ice cream, vigorously whisk 8 large egg yolks, 1 cup granulated sugar, 30g malted milk powder, ½ teaspoon kosher salt, and 1 tablespoon vanilla paste in the bottom of a large saucepan until pale and ribbony. Whisk in 3 cups whole milk and 1 cup heavy cream. Cook the mixture, whisking constantly over medium heat, until it registers 180-degrees. Cool the mixture rapidly in an ice bath, then transfer to an ice cream machine and spin until the ice cream holds its shape. Transfer some of the ice cream to a piping bag and fill the chocolate-coated cones, smoothing the tops, then transfer the rest of the ice cream to a chilled loaf pan and freeze solid. Scooping from the loaf pan, place a scoop of ice cream over the top of each cone, smoothing with a small offset spatula to form nice domes. Freeze the cones overnight, then melt chocola (truncated) 00:47:47.561 [debug] QUERY OK source="sources" db=0.1ms idle=14.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:47:47.561 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:47:47.562 [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 [29414] 00:47:47.562 [debug] Current batch of media processed. Will check again in 1000ms 00:47:48.563 [debug] Current batch of media processed. Will check again in 1000ms 00:47:49.564 [debug] Current batch of media processed. Will check again in 1000ms 00:47:50.565 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Zebra Cakes | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Little Debbie Zebra Cakes. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #zebracake #cake \n\nChapters:\n00:00 Intro\n00:43 Zebra Cakes\n01:20 Taste test (Original)\n06:28 Game plan\n06:41 Bake cake\n16:37 Make the filling\n22:23 Fill & stack\n25:28 Cut out hexagons\n27:56 Fondant & glaze\n38:14 Chocolate stripes\n42:15 Comparison\n45:28 Spud gets brushed!\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make zebra cakes, start by whisking ¾ cup cake flour, ¼ teaspoon baking powder, ⅛ teaspoon baking soda, and ¾ teaspoon kosher salt in a medium bowl. In a separate bowl, beat 3 egg yolks and ¼ cup sugar with a hand mixer until ribbony, then stream in ¼ cup neutral oil, ¼ cup buttermilk, and a teaspoon of vanilla extract. Pour the yolk mixture into the flour mixture and whisk until smooth. In a separate bowl, combine three egg whites, ¼ cup sugar, and a pinch of cream of tartar and beat with an electric mixer to stiff peaks. Fold the whites into the batter, then scrape onto a parchment-lined half sheet tray. Bake in a 225-degree oven until springy to the touch and golden, then let cool. Trim the edges then cut the sponge into 6-cm-wide strips and trim them horizontally so they’re about 7mm thick. Freeze the pieces. \n\nTo make the filling, combine 3 ounces egg whites, 5.5 ounces of sugar, ½ teaspoon kosher salt, and a pinch of cream of tartar in the bowl of a stand mixer set over a double boiler and stir until the sugar dissolves. Whip the egg whites until firm peaks form and the meringue is room temperature, then gradually beat in 10 ounces of room temperature butter. Scrape down the sides of the bowl and beat in 1 tablespoon of vanilla paste. Pipe a layer of buttercream onto the surfaces of the cake strips using a basketweave tip, then sandwich the cake together. Chill briefly, then cut out hexagons using a serrated knife and template. Chill the cakes. \n\nIn a large bowl, whisk together 4 cups powdered sugar, ¼ cup hot water, ¼ cup light corn syrup, and 1 teaspoon vanilla extract until smooth. Whisk in 142g melted white chocolate, then thin with more hot water to the desired consistency. Place over a saucepan of hot water to keep warm. Spread a thin layer over the tops of the cakes, let set at room temperature, then place the cakes one at a time glaze-size down on a large fork and spoon the glaze over the cakes until fully enrobed. Place on a wire rack and let set. Pipe thin lines of melted chocolate over the surfaces of the cakes in a wavy pattern and let set.", "duration" => 2744, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e052800 - I Tried Making Homemade Zebra Cakes | Claire Recreates.mkv", "id" => "OtgomG_a0jg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OtgomG_a0jg", "playlist_index" => 2, "timestamp" => 1716901219, "title" => "I Tried Making Homemade Zebra Cakes | Claire Recreates", "upload_date" => "20240528"} 00:47:50.566 [debug] QUERY OK source="sources" db=0.3ms idle=1636.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:47:50.566 [debug] QUERY OK source="sources" db=0.2ms idle=1637.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:47:50.567 [debug] QUERY OK source="media_items" db=0.2ms idle=1637.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-28 13:00:19Z], 9] 00:47:50.570 [debug] QUERY OK source="media_items" db=1.8ms idle=1019.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Zebra Cakes | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Little Debbie Zebra Cakes. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #zebracake #cake \n\nChapters:\n00:00 Intro\n00:43 Zebra Cakes\n01:20 Taste test (Original)\n06:28 Game plan\n06:41 Bake cake\n16:37 Make the filling\n22:23 Fill & stack\n25:28 Cut out hexagons\n27:56 Fondant & glaze\n38:14 Chocolate stripes\n42:15 Comparison\n45:28 Spud gets brushed!\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make zebra cakes, start by whisking ¾ cup cake flour, ¼ teaspoon baking powder, ⅛ teaspoon baking soda, and ¾ teaspoon kosher salt in a medium bowl. In a separate bowl, beat 3 egg yolks and ¼ cup sugar with a hand mixer until ribbony, then stream in ¼ cup neutral oil, ¼ cup buttermilk, and a teaspoon of vanilla extract. Pour the yolk mixture into the flour mixture and whisk until smooth. In a separate bowl, combine three egg whites, ¼ cup sugar, and a pinch of cream of tartar and beat with an electric mixer to stiff peaks. Fold the whites into the batter, then scrape onto a parchment-lined half sheet tray. Bake in a 225-degree oven until springy to the touch and golden, then let cool. Trim the edges then cut the sponge into 6-cm-wide strips and trim them horizontally so they’re about 7mm thick. Freeze the pieces. \n\nTo make the filling, combine 3 ounces egg whites, 5.5 ounces of sugar, ½ teaspoon kosher salt, and a pinch of cream of tartar in the bowl of a stand mixer set over a double boiler and stir until the sugar dissolves. Whip the egg whites until firm peaks form and the meringue is room temperature, then gradually beat in 10 ounces of room temperature butter. Scrape down the sides of the bowl and beat in 1 tablespoon of vanilla paste. Pipe a layer of buttercream onto the surfaces of the cake strips using a basketweave tip, then sandwich the cake together. Chill briefly, then cut out hexagons using a serrated knife and template. Chill the cakes. \n\nIn a large bowl, whisk together 4 cups powdered sugar, ¼ cup hot water, ¼ cup light corn syrup, and 1 teaspoon vanilla extract until smooth. Whisk in 142g melted white chocolate, then thin with more hot water to the desired consistency. Place over a saucepan of hot water to keep warm. Spread a thin layer over the tops of the cakes, let set at room temperature, then place the cakes one at a time glaze-size down on a large fork and spoon the glaze over the cakes until fully enrobed. Place on a wire rack and let set. Pipe thin lines of melted chocolate over the surfaces of the cakes in a wavy pattern and let set.", "I Tried Making Homemade Zebra Cakes | Claire Recreates", "7fdf53b9-2ae0-4277-b400-6aba9be7c50c", 9, [], 2744, false, "OtgomG_a0jg", "https://www.youtube.com/watch?v=OtgomG_a0jg", 2, "/downloads/shows/Claire Recreates/Season 2024/s2024e052800 - I Tried Making Homemade Zebra Cakes | Claire Recreates.mkv", false, false, false, 1, ~U[2024-05-28 13:00:19Z], ~U[2026-04-16 22:47:50Z], ~U[2026-04-16 22:47:50Z], "I Tried Making Homemade Zebra Cakes | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Little Debbie Zebra Cakes. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #zebracake #cake \n\nChapters:\n00:00 Intro\n00:43 Zebra Cakes\n01:20 Taste test (Original)\n06:28 Game plan\n06:41 Bake cake\n16:37 Make the filling\n22:23 Fill & stack\n25:28 Cut out hexagons\n27:56 Fondant & glaze\n38:14 Chocolate stripes\n42:15 Comparison\n45:28 Spud gets brushed!\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make zebra cakes, start by whisking ¾ cup cake flour, ¼ teaspoon baking powder, ⅛ teaspoon baking soda, and ¾ teaspoon kosher salt in a medium bowl. In a separate bowl, beat 3 egg yolks and ¼ cup sugar with a hand mixer until ribbony, then stream in ¼ cup neutral oil, ¼ cup buttermilk, and a teaspoon of vanilla extract. Pour the yolk mixture into the flour mixture and whisk until smooth. In a separate bowl, combine three egg whites, ¼ cup sugar, and a pinch of cream of tartar and beat with an electric mixer to stiff peaks. Fold the whites into the batter, then scrape onto a parchment-lined half sheet tray. Bake in a 225-degree oven until springy to the touch and golden, then let cool. Trim the edges then cut the sponge into 6-cm-wide strips and trim them horizontally so they’re about 7mm thick. Freeze the pieces. \n\nTo make the filling, combine 3 ounces egg whites, 5.5 ounces of sugar, ½ teaspoon kosher salt, and a pinch of cream of tartar in the bowl of a stand mixer set over a double boiler and stir until the sugar dissolves. Whip the egg whites until firm peaks form and the meringue is room temperature, then gradually beat in 10 ounces of room temperature butter. Scrape down the sides of the bowl and beat in 1 tablespoon of vanilla paste. Pipe a layer of buttercream onto the surfaces of the cake strips using a basketweave tip, then sandwich the cake together. Chill briefly, then cut out hexagons using a serrated knife and template. Chill the cakes. \n\nIn a large bowl, whisk together 4 cups powdered sugar, ¼ cup hot water, ¼ cup light corn syrup, and 1 teaspoon vanilla extract until smooth. Whisk in 142g melted white chocolate, then thin with more hot water to the desired consistency. Place over a saucepan of hot water to keep warm. Spread a thin layer over the tops of the cakes, let set at room temperature, then place the cakes one at a time glaze-size down on a large fork and spoon the glaze over the cakes until fully (truncated) 00:47:50.570 [debug] QUERY OK source="sources" db=0.2ms idle=21.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:47:50.571 [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] 00:47:50.571 [debug] QUERY OK source="media_items" db=0.2ms 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 [29415] 00:47:50.571 [debug] Current batch of media processed. Will check again in 1000ms 00:47:51.572 [debug] Current batch of media processed. Will check again in 1000ms 00:47:52.573 [debug] Current batch of media processed. Will check again in 1000ms 00:47:53.574 [debug] Current batch of media processed. Will check again in 1000ms 00:47:54.575 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Cosmic Brownies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tackles beloved childhood snacks and popular meals with a unique twist. In today's episode, she focuses on Little Debbie Cosmic Brownies. Join Claire as she reimagines these classics, offering delicious recipes perfect for home cooking enthusiasts. If you're nostalgic for your favorite foods and intrigued by the art of recipe development, this series is for you! Don't miss Claire's creative take on these timeless dishes.\n\n#cosmicbrownies #clairesaffitz #brownie \n\nChapters:\n00:00 Intro\n01:14 Basic components\n01:53 Taste test\n04:19 Measurements\n08:36 Game plan\n10:34 Temper the chocolate\n16:12 Make the candy coating\n23:29 Make the brownies\n29:12 Make the royal icing\n31:28 Make the glaze\n37:19 Assemble\n39:17 Conclusion\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nBROWNIES\n6.6 ounces bittersweet chocolate\n1 stick unsalted butter\n5.55 ounces confectioners’ sugar\n2 large egg yolks\n1 teaspoon kosher salt\n2 teaspoon vanilla extract or paste\n6 ounces all-purpose flour\n\nFUDGE FROSTING\n4 tablespoons unsalted butter\n1½ cups (300g) sugar\n2 tablespoons unsweetened cocoa powder\n¾ cup whole milk\nGenerous pinch of kosher salt\n1 teaspoon vanilla extract\n1½ ounces unsweetened chocolate\n\nBROWNIES: Preheat the oven to 350°F. Lightly butter the bottom and sides of a ¼ sheet pan. Line the bottom and two longer sides with a piece of parchment paper, smoothing to eliminate air bubbles. Melt chocolate and butter in a large bowl set over a double boiler, stirring often with a flexible heat-proof spatula. Remove from the heat and add the sugar, yolks, salt, and vanilla and whisk vigorously. Add the flour and fold thoroughly with the spatula until you have a homogenous dough. Spread into the prepared pan with an offset spatula in a smooth, even layer. Bake in a water bath until the brownies are set, 18 to 22 minutes. Remove from the oven and let cool completely.", "duration" => 2675, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e062100 - I Tried Making Homemade Cosmic Brownies | Claire Recreates.mkv", "id" => "BpA0hvBfnO0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BpA0hvBfnO0", "playlist_index" => 3, "timestamp" => 1718974811, "title" => "I Tried Making Homemade Cosmic Brownies | Claire Recreates", "upload_date" => "20240621"} 00:47:54.576 [debug] QUERY OK source="sources" db=0.3ms idle=646.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:47:54.576 [debug] QUERY OK source="sources" db=0.1ms idle=647.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:47:54.577 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=647.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-21 13:00:11Z], 9] 00:47:54.580 [debug] QUERY OK source="media_items" db=1.8ms idle=648.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Cosmic Brownies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tackles beloved childhood snacks and popular meals with a unique twist. In today's episode, she focuses on Little Debbie Cosmic Brownies. Join Claire as she reimagines these classics, offering delicious recipes perfect for home cooking enthusiasts. If you're nostalgic for your favorite foods and intrigued by the art of recipe development, this series is for you! Don't miss Claire's creative take on these timeless dishes.\n\n#cosmicbrownies #clairesaffitz #brownie \n\nChapters:\n00:00 Intro\n01:14 Basic components\n01:53 Taste test\n04:19 Measurements\n08:36 Game plan\n10:34 Temper the chocolate\n16:12 Make the candy coating\n23:29 Make the brownies\n29:12 Make the royal icing\n31:28 Make the glaze\n37:19 Assemble\n39:17 Conclusion\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nBROWNIES\n6.6 ounces bittersweet chocolate\n1 stick unsalted butter\n5.55 ounces confectioners’ sugar\n2 large egg yolks\n1 teaspoon kosher salt\n2 teaspoon vanilla extract or paste\n6 ounces all-purpose flour\n\nFUDGE FROSTING\n4 tablespoons unsalted butter\n1½ cups (300g) sugar\n2 tablespoons unsweetened cocoa powder\n¾ cup whole milk\nGenerous pinch of kosher salt\n1 teaspoon vanilla extract\n1½ ounces unsweetened chocolate\n\nBROWNIES: Preheat the oven to 350°F. Lightly butter the bottom and sides of a ¼ sheet pan. Line the bottom and two longer sides with a piece of parchment paper, smoothing to eliminate air bubbles. Melt chocolate and butter in a large bowl set over a double boiler, stirring often with a flexible heat-proof spatula. Remove from the heat and add the sugar, yolks, salt, and vanilla and whisk vigorously. Add the flour and fold thoroughly with the spatula until you have a homogenous dough. Spread into the prepared pan with an offset spatula in a smooth, even layer. Bake in a water bath until the brownies are set, 18 to 22 minutes. Remove from the oven and let cool completely.", "I Tried Making Homemade Cosmic Brownies | Claire Recreates", "fbc0e53b-243f-4ef5-8c75-861d8cdd7d0f", 9, [], 2675, false, "BpA0hvBfnO0", "https://www.youtube.com/watch?v=BpA0hvBfnO0", 3, "/downloads/shows/Claire Recreates/Season 2024/s2024e062100 - I Tried Making Homemade Cosmic Brownies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-06-21 13:00:11Z], ~U[2026-04-16 22:47:54Z], ~U[2026-04-16 22:47:54Z], "I Tried Making Homemade Cosmic Brownies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tackles beloved childhood snacks and popular meals with a unique twist. In today's episode, she focuses on Little Debbie Cosmic Brownies. Join Claire as she reimagines these classics, offering delicious recipes perfect for home cooking enthusiasts. If you're nostalgic for your favorite foods and intrigued by the art of recipe development, this series is for you! Don't miss Claire's creative take on these timeless dishes.\n\n#cosmicbrownies #clairesaffitz #brownie \n\nChapters:\n00:00 Intro\n01:14 Basic components\n01:53 Taste test\n04:19 Measurements\n08:36 Game plan\n10:34 Temper the chocolate\n16:12 Make the candy coating\n23:29 Make the brownies\n29:12 Make the royal icing\n31:28 Make the glaze\n37:19 Assemble\n39:17 Conclusion\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nBROWNIES\n6.6 ounces bittersweet chocolate\n1 stick unsalted butter\n5.55 ounces confectioners’ sugar\n2 large egg yolks\n1 teaspoon kosher salt\n2 teaspoon vanilla extract or paste\n6 ounces all-purpose flour\n\nFUDGE FROSTING\n4 tablespoons unsalted butter\n1½ cups (300g) sugar\n2 tablespoons unsweetened cocoa powder\n¾ cup whole milk\nGenerous pinch of kosher salt\n1 teaspoon vanilla extract\n1½ ounces unsweetened chocolate\n\nBROWNIES: Preheat the oven to 350°F. Lightly butter the bottom and sides of a ¼ sheet pan. Line the bottom and two longer sides with a piece of parchment paper, smoothing to eliminate air bubbles. Melt chocolate and butter in a large bowl set over a double boiler, stirring often with a flexible heat-proof spatula. Remove from the heat and add the sugar, yolks, salt, and vanilla and whisk vigorously. Add the flour and fold thoroughly with the spatula until you have a homogenous dough. Spread into the prepared pan with an offset spatula in a smooth, even layer. Bake in a water bath until the brownies are set, 18 to 22 minutes. Remove from the oven and let cool completely.", "I Tried Making Homemade Cosmic Brownies | Claire Recreates", 9, 2675, false, "BpA0hvBfnO0", "https://www.youtube.com/watch?v=BpA0hvBfnO0", "/downloads/shows/Claire Recreates/Season 2024/s2024e062100 - I Tried Making Homemade Cosmic Brownies | Claire Recreates.mkv", false, ~U[2024-06-21 13:00:11Z]] 00:47:54.580 [debug] QUERY OK source="sources" db=0.2ms idle=24.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:47:54.581 [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] 00:47:54.581 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29416] 00:47:54.581 [debug] Current batch of media processed. Will check again in 1000ms 00:47:55.582 [debug] Current batch of media processed. Will check again in 1000ms 00:47:56.583 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz takes on nostalgic childhood snacks and popular meals, adding her own creative twist. In today's episode, she focuses on Strawberry Shortcake Bars, pairing them with homemade ice cream. Join Claire as she reimagines these classics, sharing delicious recipes perfect for home cooking enthusiasts. If you have a soft spot for your favorite foods and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive approach to these timeless treats.\n\n#strawberryshortcake #clairesaffitz #icecream \n\nChapters:\n00:00 Intro\n00:28 Strawberry shortcake bars\n01:12 Taste test\n02:53 Reading the ingredients\n04:01 Measurements\n07:03 Game plan\n09:16 Make the ice cream base\n12:47 Make strawberry ice cream base\n15:38 Make the strawberry cores\n24:07 Make cake crumbs\n28:34 Fill molds\n45:10 Assemble\n46:05 Comparison\n49:32 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nStrawberry Shortcake Bars\nMakes 8\n\nVANILLA ICE CREAM\n8 large egg yolks\n¾ cup granulated sugar\n½ teaspoon kosher salt\n1 tablespoon vanilla paste\n3 cups whole milk\n1 cup heavy cream\n\n1 pound strawberries chopped, mixed with 2 tbsp sugar, roasted at 275 for 1 hour, stir a few times, blend in to half of vanilla base and flavor with 1 Tbsp hibiscus powder and 20g freeze dried strawberries, strain, process\n\nSUGAR COOKIE CRUMBS\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour\n\nSTRAWBERRY VERSION\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour", "duration" => 2988, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e080800 - I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates.mkv", "id" => "dPBXgwJD35E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dPBXgwJD35E", "playlist_index" => 4, "timestamp" => 1723137303, "title" => "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates", "upload_date" => "20240808"} 00:47:56.584 [debug] QUERY OK source="sources" db=0.4ms idle=654.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:47:56.585 [debug] QUERY OK source="sources" db=0.3ms idle=655.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:47:56.585 [debug] QUERY OK source="media_items" db=0.2ms idle=656.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-08 17:15:03Z], 9] 00:47:56.588 [debug] QUERY OK source="media_items" db=1.7ms idle=656.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz takes on nostalgic childhood snacks and popular meals, adding her own creative twist. In today's episode, she focuses on Strawberry Shortcake Bars, pairing them with homemade ice cream. Join Claire as she reimagines these classics, sharing delicious recipes perfect for home cooking enthusiasts. If you have a soft spot for your favorite foods and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive approach to these timeless treats.\n\n#strawberryshortcake #clairesaffitz #icecream \n\nChapters:\n00:00 Intro\n00:28 Strawberry shortcake bars\n01:12 Taste test\n02:53 Reading the ingredients\n04:01 Measurements\n07:03 Game plan\n09:16 Make the ice cream base\n12:47 Make strawberry ice cream base\n15:38 Make the strawberry cores\n24:07 Make cake crumbs\n28:34 Fill molds\n45:10 Assemble\n46:05 Comparison\n49:32 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nStrawberry Shortcake Bars\nMakes 8\n\nVANILLA ICE CREAM\n8 large egg yolks\n¾ cup granulated sugar\n½ teaspoon kosher salt\n1 tablespoon vanilla paste\n3 cups whole milk\n1 cup heavy cream\n\n1 pound strawberries chopped, mixed with 2 tbsp sugar, roasted at 275 for 1 hour, stir a few times, blend in to half of vanilla base and flavor with 1 Tbsp hibiscus powder and 20g freeze dried strawberries, strain, process\n\nSUGAR COOKIE CRUMBS\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour\n\nSTRAWBERRY VERSION\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour", "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates", "a2b7142c-ac18-4cb5-a459-9d8def226d31", 9, [], 2988, false, "dPBXgwJD35E", "https://www.youtube.com/watch?v=dPBXgwJD35E", 4, "/downloads/shows/Claire Recreates/Season 2024/s2024e080800 - I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates.mkv", false, false, false, 1, ~U[2024-08-08 17:15:03Z], ~U[2026-04-16 22:47:56Z], ~U[2026-04-16 22:47:56Z], "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz takes on nostalgic childhood snacks and popular meals, adding her own creative twist. In today's episode, she focuses on Strawberry Shortcake Bars, pairing them with homemade ice cream. Join Claire as she reimagines these classics, sharing delicious recipes perfect for home cooking enthusiasts. If you have a soft spot for your favorite foods and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive approach to these timeless treats.\n\n#strawberryshortcake #clairesaffitz #icecream \n\nChapters:\n00:00 Intro\n00:28 Strawberry shortcake bars\n01:12 Taste test\n02:53 Reading the ingredients\n04:01 Measurements\n07:03 Game plan\n09:16 Make the ice cream base\n12:47 Make strawberry ice cream base\n15:38 Make the strawberry cores\n24:07 Make cake crumbs\n28:34 Fill molds\n45:10 Assemble\n46:05 Comparison\n49:32 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nStrawberry Shortcake Bars\nMakes 8\n\nVANILLA ICE CREAM\n8 large egg yolks\n¾ cup granulated sugar\n½ teaspoon kosher salt\n1 tablespoon vanilla paste\n3 cups whole milk\n1 cup heavy cream\n\n1 pound strawberries chopped, mixed with 2 tbsp sugar, roasted at 275 for 1 hour, stir a few times, blend in to half of vanilla base and flavor with 1 Tbsp hibiscus powder and 20g freeze dried strawberries, strain, process\n\nSUGAR COOKIE CRUMBS\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour\n\nSTRAWBERRY VERSION\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour", "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates", 9, 2988, false, "dPBXgwJD35E", "https://www.youtube.com/watch?v=dPBXgwJD35E", "/downloads/shows/Claire Recreates/Season 2024/s2024e080800 - I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates.mkv", false, ~U[2024-08-08 17:15:03Z]] 00:47:56.589 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [9] 00:47:56.589 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 00:47:56.590 [debug] QUERY OK source="media_items" db=0.6ms 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 [29417] 00:47:56.591 [debug] Current batch of media processed. Will check again in 1000ms 00:47:57.591 [debug] Current batch of media processed. Will check again in 1000ms 00:47:58.592 [debug] Current batch of media processed. Will check again in 1000ms 00:47:59.593 [debug] Current batch of media processed. Will check again in 1000ms 00:48:00.180 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:48:00.594 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Uncrustables | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she tackles the beloved Smucker’s Uncrustables, giving them a creative, from-scratch makeover. Claire takes no shortcuts, making her own homemade white bread, peanut butter, and jelly, transforming this nostalgic lunchbox staple into something truly special. If you’re a fan of classic snacks and curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive twist on this timeless favorite.\n\n#clairesaffitz #homemade #uncrustables \n\nChapters:\n00:00 Intro\n00:54 How does Claire Saffitz make a PBJ?\n01:50 Taste test\n02:19 Basic Components\n02:48 Reading the Ingredients\n03:50 Game Plan\n04:32 Soft White Bread\n06:31 Cal calls Uncrustables\n06:59 Peanut butter\n13:44 Grape Jelly\n18:10 Assembly\n26:47 Comparison\n28:58 Cat Cam\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nSOFT WHITE BREAD\nMakes 1 loaf\n\nTANGZHONG\n½ cup whole milk\n½ cup water\n50g (6 tablespoons) bread flour\n\nDOUGH\n3 cups (390g) bread flour, plus more, if needed, for work surface\n¼ cup water\n¼ cup milk \n2 tablespoons granulated sugar\n4 tablespoons neutral oil\n9g kosher salt (2½ teaspoons Diamond Crystal kosher salt)\n2 teaspoons instant yeast\n\nGrape Jelly\n2 lbs green apples\n1 quart 100% Concord grape juice\n1 cup sugar\n2 tablespoons lemon juice\n\nPeanut Butter\n3 cups roasted salted peanuts, toasted until golden brown\nGenerous pinch of salt\n2 teaspoons of honey", "duration" => 1750, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e092500 - I Tried Making Homemade Uncrustables | Claire Recreates.mkv", "id" => "3eIbzifSZYY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3eIbzifSZYY", "playlist_index" => 5, "timestamp" => 1727269205, "title" => "I Tried Making Homemade Uncrustables | Claire Recreates", "upload_date" => "20240925"} 00:48:00.595 [debug] QUERY OK source="sources" db=0.4ms idle=665.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:48:00.596 [debug] QUERY OK source="sources" db=0.1ms idle=666.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:00.596 [debug] QUERY OK source="media_items" db=0.2ms idle=666.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-25 13:00:05Z], 9] 00:48:00.598 [debug] QUERY OK source="media_items" db=1.4ms idle=416.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Uncrustables | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she tackles the beloved Smucker’s Uncrustables, giving them a creative, from-scratch makeover. Claire takes no shortcuts, making her own homemade white bread, peanut butter, and jelly, transforming this nostalgic lunchbox staple into something truly special. If you’re a fan of classic snacks and curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive twist on this timeless favorite.\n\n#clairesaffitz #homemade #uncrustables \n\nChapters:\n00:00 Intro\n00:54 How does Claire Saffitz make a PBJ?\n01:50 Taste test\n02:19 Basic Components\n02:48 Reading the Ingredients\n03:50 Game Plan\n04:32 Soft White Bread\n06:31 Cal calls Uncrustables\n06:59 Peanut butter\n13:44 Grape Jelly\n18:10 Assembly\n26:47 Comparison\n28:58 Cat Cam\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nSOFT WHITE BREAD\nMakes 1 loaf\n\nTANGZHONG\n½ cup whole milk\n½ cup water\n50g (6 tablespoons) bread flour\n\nDOUGH\n3 cups (390g) bread flour, plus more, if needed, for work surface\n¼ cup water\n¼ cup milk \n2 tablespoons granulated sugar\n4 tablespoons neutral oil\n9g kosher salt (2½ teaspoons Diamond Crystal kosher salt)\n2 teaspoons instant yeast\n\nGrape Jelly\n2 lbs green apples\n1 quart 100% Concord grape juice\n1 cup sugar\n2 tablespoons lemon juice\n\nPeanut Butter\n3 cups roasted salted peanuts, toasted until golden brown\nGenerous pinch of salt\n2 teaspoons of honey", "I Tried Making Homemade Uncrustables | Claire Recreates", "e97ab6b9-a9a6-4b4b-8394-8473556f790e", 9, [], 1750, false, "3eIbzifSZYY", "https://www.youtube.com/watch?v=3eIbzifSZYY", 5, "/downloads/shows/Claire Recreates/Season 2024/s2024e092500 - I Tried Making Homemade Uncrustables | Claire Recreates.mkv", false, false, false, 1, ~U[2024-09-25 13:00:05Z], ~U[2026-04-16 22:48:00Z], ~U[2026-04-16 22:48:00Z], "I Tried Making Homemade Uncrustables | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she tackles the beloved Smucker’s Uncrustables, giving them a creative, from-scratch makeover. Claire takes no shortcuts, making her own homemade white bread, peanut butter, and jelly, transforming this nostalgic lunchbox staple into something truly special. If you’re a fan of classic snacks and curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive twist on this timeless favorite.\n\n#clairesaffitz #homemade #uncrustables \n\nChapters:\n00:00 Intro\n00:54 How does Claire Saffitz make a PBJ?\n01:50 Taste test\n02:19 Basic Components\n02:48 Reading the Ingredients\n03:50 Game Plan\n04:32 Soft White Bread\n06:31 Cal calls Uncrustables\n06:59 Peanut butter\n13:44 Grape Jelly\n18:10 Assembly\n26:47 Comparison\n28:58 Cat Cam\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nSOFT WHITE BREAD\nMakes 1 loaf\n\nTANGZHONG\n½ cup whole milk\n½ cup water\n50g (6 tablespoons) bread flour\n\nDOUGH\n3 cups (390g) bread flour, plus more, if needed, for work surface\n¼ cup water\n¼ cup milk \n2 tablespoons granulated sugar\n4 tablespoons neutral oil\n9g kosher salt (2½ teaspoons Diamond Crystal kosher salt)\n2 teaspoons instant yeast\n\nGrape Jelly\n2 lbs green apples\n1 quart 100% Concord grape juice\n1 cup sugar\n2 tablespoons lemon juice\n\nPeanut Butter\n3 cups roasted salted peanuts, toasted until golden brown\nGenerous pinch of salt\n2 teaspoons of honey", "I Tried Making Homemade Uncrustables | Claire Recreates", 9, 1750, false, "3eIbzifSZYY", "https://www.youtube.com/watch?v=3eIbzifSZYY", "/downloads/shows/Claire Recreates/Season 2024/s2024e092500 - I Tried Making Homemade Uncrustables | Claire Recreates.mkv", false, ~U[2024-09-25 13:00:05Z]] 00:48:00.599 [debug] QUERY OK source="sources" db=0.2ms idle=35.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:00.599 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:48:00.600 [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 [29418] 00:48:00.600 [debug] Current batch of media processed. Will check again in 1000ms 00:48:01.601 [debug] Current batch of media processed. Will check again in 1000ms 00:48:01.910 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:02.602 [debug] Current batch of media processed. Will check again in 1000ms 00:48:03.603 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she steps out to explore restaurant staples, starting with the iconic McDonald’s Apple Pie. Claire meticulously dissects the fast-food favorite, recreating it from scratch with her own version of a hand pie. From crafting a flaky, golden dough to making a perfectly spiced apple filling, Claire transforms this nostalgic dessert into a homemade masterpiece. If you love classic treats and are curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless favorite.\n\n#clairesaffitz #mcdonalds #applepie \n\nChapters:\n00:00 Intro\n00:30 McDonald’s Drive-Thru\n02:14 Back to the kitchen\n02:51 Measurements\n04:36 How To Make Baked Apple Pie\n04:49 Reading the Ingredients\n05:23 Doing some research\n05:49 How To Make Pastry\n09:47 How To Make Apple Filling\n21:09 Testing the lattice\n24:39 Assembly\n28:43 Baking\n30:26 McDonald’s vs Claire Saffitz\n32:18 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1957, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e102400 - I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates.mkv", "id" => "JPcLcSbYL94", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JPcLcSbYL94", "playlist_index" => 6, "timestamp" => 1729789223, "title" => "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates", "upload_date" => "20241024"} 00:48:03.604 [debug] QUERY OK source="sources" db=0.3ms idle=1674.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:48:03.604 [debug] QUERY OK source="sources" db=0.1ms idle=1675.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:03.605 [debug] QUERY OK source="media_items" db=0.2ms idle=1039.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-24 17:00:23Z], 9] 00:48:03.607 [debug] QUERY OK source="media_items" db=1.2ms idle=676.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she steps out to explore restaurant staples, starting with the iconic McDonald’s Apple Pie. Claire meticulously dissects the fast-food favorite, recreating it from scratch with her own version of a hand pie. From crafting a flaky, golden dough to making a perfectly spiced apple filling, Claire transforms this nostalgic dessert into a homemade masterpiece. If you love classic treats and are curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless favorite.\n\n#clairesaffitz #mcdonalds #applepie \n\nChapters:\n00:00 Intro\n00:30 McDonald’s Drive-Thru\n02:14 Back to the kitchen\n02:51 Measurements\n04:36 How To Make Baked Apple Pie\n04:49 Reading the Ingredients\n05:23 Doing some research\n05:49 How To Make Pastry\n09:47 How To Make Apple Filling\n21:09 Testing the lattice\n24:39 Assembly\n28:43 Baking\n30:26 McDonald’s vs Claire Saffitz\n32:18 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates", "dff0c06f-f48a-47c5-8a1c-b4260b5ea19e", 9, [], 1957, false, "JPcLcSbYL94", "https://www.youtube.com/watch?v=JPcLcSbYL94", 6, "/downloads/shows/Claire Recreates/Season 2024/s2024e102400 - I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates.mkv", false, false, false, 1, ~U[2024-10-24 17:00:23Z], ~U[2026-04-16 22:48:03Z], ~U[2026-04-16 22:48:03Z], "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she steps out to explore restaurant staples, starting with the iconic McDonald’s Apple Pie. Claire meticulously dissects the fast-food favorite, recreating it from scratch with her own version of a hand pie. From crafting a flaky, golden dough to making a perfectly spiced apple filling, Claire transforms this nostalgic dessert into a homemade masterpiece. If you love classic treats and are curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless favorite.\n\n#clairesaffitz #mcdonalds #applepie \n\nChapters:\n00:00 Intro\n00:30 McDonald’s Drive-Thru\n02:14 Back to the kitchen\n02:51 Measurements\n04:36 How To Make Baked Apple Pie\n04:49 Reading the Ingredients\n05:23 Doing some research\n05:49 How To Make Pastry\n09:47 How To Make Apple Filling\n21:09 Testing the lattice\n24:39 Assembly\n28:43 Baking\n30:26 McDonald’s vs Claire Saffitz\n32:18 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates", 9, 1957, false, "JPcLcSbYL94", "https://www.youtube.com/watch?v=JPcLcSbYL94", "/downloads/shows/Claire Recreates/Season 2024/s2024e102400 - I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates.mkv", false, ~U[2024-10-24 17:00:23Z]] 00:48:03.607 [debug] QUERY OK source="sources" db=0.1ms idle=41.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:03.608 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:48:03.608 [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 [29419] 00:48:03.608 [debug] Current batch of media processed. Will check again in 1000ms 00:48:04.609 [debug] Current batch of media processed. Will check again in 1000ms 00:48:05.610 [debug] Current batch of media processed. Will check again in 1000ms 00:48:06.611 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Mallomars | Claire Recreates\nOn this special episode of Claire Recreates, Claire Saffitz tackles the beloved Mallomars, a treat adored in the Northeast but deserving of nationwide love. From crafting the perfect graham cracker base to whipping up a fluffy marshmallow and dipping it all in luscious chocolate, Claire brings this classic to life in a way only she can. If you love reimagined classics and want to celebrate the joy of homemade desserts, this episode is a must-watch. Don’t miss Claire’s creative take on this iconic treat—perfect for the holiday season! Happy Thanksgiving! We’re incredibly thankful for everyone who has joined us on this channel.\n\n#clairesaffitz #mallomars #smores #chocolate \n\nChapters:\n00:00 Intro\n00:25 Mallomars\n02:06 Measurements\n02:42 Ingredients\n03:30 Game plan\n03:58 Cookie base\n15:59 Marshmallow topper\n23:37 Assemble cookies\n24:59 Temper chocolate & enrobe\n29:27 Snap test\n30:03 Comparison\n31:53 Harris review\n32:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1971, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e112800 - I Tried Making Homemade Mallomars | Claire Recreates.mkv", "id" => "Qh9zncazwM8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Qh9zncazwM8", "playlist_index" => 7, "timestamp" => 1732805102, "title" => "I Tried Making Homemade Mallomars | Claire Recreates", "upload_date" => "20241128"} 00:48:06.612 [debug] QUERY OK source="sources" db=0.3ms idle=1682.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:48:06.612 [debug] QUERY OK source="sources" db=0.2ms idle=1683.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:06.613 [debug] QUERY OK source="media_items" db=0.2ms idle=1683.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-28 14:45:02Z], 9] 00:48:06.615 [debug] QUERY OK source="media_items" db=1.2ms idle=1044.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Mallomars | Claire Recreates\nOn this special episode of Claire Recreates, Claire Saffitz tackles the beloved Mallomars, a treat adored in the Northeast but deserving of nationwide love. From crafting the perfect graham cracker base to whipping up a fluffy marshmallow and dipping it all in luscious chocolate, Claire brings this classic to life in a way only she can. If you love reimagined classics and want to celebrate the joy of homemade desserts, this episode is a must-watch. Don’t miss Claire’s creative take on this iconic treat—perfect for the holiday season! Happy Thanksgiving! We’re incredibly thankful for everyone who has joined us on this channel.\n\n#clairesaffitz #mallomars #smores #chocolate \n\nChapters:\n00:00 Intro\n00:25 Mallomars\n02:06 Measurements\n02:42 Ingredients\n03:30 Game plan\n03:58 Cookie base\n15:59 Marshmallow topper\n23:37 Assemble cookies\n24:59 Temper chocolate & enrobe\n29:27 Snap test\n30:03 Comparison\n31:53 Harris review\n32:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Mallomars | Claire Recreates", "b696b2db-12cb-4d2e-8bdd-4f6f1a2977fe", 9, [], 1971, false, "Qh9zncazwM8", "https://www.youtube.com/watch?v=Qh9zncazwM8", 7, "/downloads/shows/Claire Recreates/Season 2024/s2024e112800 - I Tried Making Homemade Mallomars | Claire Recreates.mkv", false, false, false, 1, ~U[2024-11-28 14:45:02Z], ~U[2026-04-16 22:48:06Z], ~U[2026-04-16 22:48:06Z], "I Tried Making Homemade Mallomars | Claire Recreates\nOn this special episode of Claire Recreates, Claire Saffitz tackles the beloved Mallomars, a treat adored in the Northeast but deserving of nationwide love. From crafting the perfect graham cracker base to whipping up a fluffy marshmallow and dipping it all in luscious chocolate, Claire brings this classic to life in a way only she can. If you love reimagined classics and want to celebrate the joy of homemade desserts, this episode is a must-watch. Don’t miss Claire’s creative take on this iconic treat—perfect for the holiday season! Happy Thanksgiving! We’re incredibly thankful for everyone who has joined us on this channel.\n\n#clairesaffitz #mallomars #smores #chocolate \n\nChapters:\n00:00 Intro\n00:25 Mallomars\n02:06 Measurements\n02:42 Ingredients\n03:30 Game plan\n03:58 Cookie base\n15:59 Marshmallow topper\n23:37 Assemble cookies\n24:59 Temper chocolate & enrobe\n29:27 Snap test\n30:03 Comparison\n31:53 Harris review\n32:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Mallomars | Claire Recreates", 9, 1971, false, "Qh9zncazwM8", "https://www.youtube.com/watch?v=Qh9zncazwM8", "/downloads/shows/Claire Recreates/Season 2024/s2024e112800 - I Tried Making Homemade Mallomars | Claire Recreates.mkv", false, ~U[2024-11-28 14:45:02Z]] 00:48:06.615 [debug] QUERY OK source="sources" db=0.3ms idle=44.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:06.616 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:48:06.616 [debug] QUERY OK source="media_items" db=0.3ms 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 [29420] 00:48:06.617 [debug] Current batch of media processed. Will check again in 1000ms 00:48:07.619 [debug] Current batch of media processed. Will check again in 1000ms 00:48:08.620 [debug] Current batch of media processed. Will check again in 1000ms 00:48:09.621 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Milano Cookies | Claire Recreates\nIn this special holiday episode of Claire Recreates, Claire Saffitz takes on the beloved Pepperidge Farm Milano Cookies, a holiday favorite that deserves a homemade makeover. Claire is determined to recreate the classic cookie, from baking the perfect buttery, delicate biscuit to making a smooth, decadent chocolate filling. With her signature flair, Claire transforms this iconic treat into a homemade version that’s even more irresistible than the original. If you love reimagined classics and want to impress your guests with a holiday dessert that’s both nostalgic and elevated, this episode is a must-watch. Don’t miss Claire’s delicious twist on the Milano Cookie—perfect for celebrating the season! As we close out 2024, we’re incredibly thankful for everyone who’s supported this channel. Happy Holidays!\n\n#clairesaffitz #cookies #dessert \n\nChapters:\n00:00 Intro\n00:26 Milano cookies\n02:08 Taste test\n02:46 Measurements\n03:54 Reading the ingredients\n04:54 Game plan\n05:22 Harris' Milano Tip\n06:12 Make & bake cookies\n07:47 Making the batter\n09:47 Piping the cookies\n13:36 Making cookie improvements\n29:33 Make mint layer\n31:55 Temper chocolate\n33:29 Assembly\n35:06 Comparison \n36:24 Harris’ review\n36:56 Conclusion\n37:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 2271, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e123100 - I Tried Making Homemade Milano Cookies | Claire Recreates.mkv", "id" => "L_Xu-Tt7fHA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=L_Xu-Tt7fHA", "playlist_index" => 8, "timestamp" => 1735657227, "title" => "I Tried Making Homemade Milano Cookies | Claire Recreates", "upload_date" => "20241231"} 00:48:09.622 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1692.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:48:09.622 [debug] QUERY OK source="sources" db=0.1ms idle=1693.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:09.623 [debug] QUERY OK source="media_items" db=0.2ms idle=1693.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-31 15:00:27Z], 9] 00:48:09.628 [debug] QUERY OK source="media_items" db=4.5ms idle=1049.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Milano Cookies | Claire Recreates\nIn this special holiday episode of Claire Recreates, Claire Saffitz takes on the beloved Pepperidge Farm Milano Cookies, a holiday favorite that deserves a homemade makeover. Claire is determined to recreate the classic cookie, from baking the perfect buttery, delicate biscuit to making a smooth, decadent chocolate filling. With her signature flair, Claire transforms this iconic treat into a homemade version that’s even more irresistible than the original. If you love reimagined classics and want to impress your guests with a holiday dessert that’s both nostalgic and elevated, this episode is a must-watch. Don’t miss Claire’s delicious twist on the Milano Cookie—perfect for celebrating the season! As we close out 2024, we’re incredibly thankful for everyone who’s supported this channel. Happy Holidays!\n\n#clairesaffitz #cookies #dessert \n\nChapters:\n00:00 Intro\n00:26 Milano cookies\n02:08 Taste test\n02:46 Measurements\n03:54 Reading the ingredients\n04:54 Game plan\n05:22 Harris' Milano Tip\n06:12 Make & bake cookies\n07:47 Making the batter\n09:47 Piping the cookies\n13:36 Making cookie improvements\n29:33 Make mint layer\n31:55 Temper chocolate\n33:29 Assembly\n35:06 Comparison \n36:24 Harris’ review\n36:56 Conclusion\n37:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Milano Cookies | Claire Recreates", "9fbfeec9-b147-470c-8cf6-4a553abebaaf", 9, [], 2271, false, "L_Xu-Tt7fHA", "https://www.youtube.com/watch?v=L_Xu-Tt7fHA", 8, "/downloads/shows/Claire Recreates/Season 2024/s2024e123100 - I Tried Making Homemade Milano Cookies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-12-31 15:00:27Z], ~U[2026-04-16 22:48:09Z], ~U[2026-04-16 22:48:09Z], "I Tried Making Homemade Milano Cookies | Claire Recreates\nIn this special holiday episode of Claire Recreates, Claire Saffitz takes on the beloved Pepperidge Farm Milano Cookies, a holiday favorite that deserves a homemade makeover. Claire is determined to recreate the classic cookie, from baking the perfect buttery, delicate biscuit to making a smooth, decadent chocolate filling. With her signature flair, Claire transforms this iconic treat into a homemade version that’s even more irresistible than the original. If you love reimagined classics and want to impress your guests with a holiday dessert that’s both nostalgic and elevated, this episode is a must-watch. Don’t miss Claire’s delicious twist on the Milano Cookie—perfect for celebrating the season! As we close out 2024, we’re incredibly thankful for everyone who’s supported this channel. Happy Holidays!\n\n#clairesaffitz #cookies #dessert \n\nChapters:\n00:00 Intro\n00:26 Milano cookies\n02:08 Taste test\n02:46 Measurements\n03:54 Reading the ingredients\n04:54 Game plan\n05:22 Harris' Milano Tip\n06:12 Make & bake cookies\n07:47 Making the batter\n09:47 Piping the cookies\n13:36 Making cookie improvements\n29:33 Make mint layer\n31:55 Temper chocolate\n33:29 Assembly\n35:06 Comparison \n36:24 Harris’ review\n36:56 Conclusion\n37:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Milano Cookies | Claire Recreates", 9, 2271, false, "L_Xu-Tt7fHA", "https://www.youtube.com/watch?v=L_Xu-Tt7fHA", "/downloads/shows/Claire Recreates/Season 2024/s2024e123100 - I Tried Making Homemade Milano Cookies | Claire Recreates.mkv", false, ~U[2024-12-31 15:00:27Z]] 00:48:09.628 [debug] QUERY OK source="sources" db=0.2ms idle=53.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:09.629 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:48:09.629 [debug] QUERY OK source="media_items" db=0.2ms idle=6.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29421] 00:48:09.629 [debug] Current batch of media processed. Will check again in 1000ms 00:48:10.630 [debug] Current batch of media processed. Will check again in 1000ms 00:48:11.631 [debug] Current batch of media processed. Will check again in 1000ms 00:48:12.632 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz dives into beloved childhood snacks and iconic treats, adding her own creative flair. In today’s episode, she focuses on the classic Little Debbie Oatmeal Creme Pies, transforming them with a homemade twist. Join Claire as she reimagines this nostalgic favorite, sharing mouthwatering recipes perfect for home baking enthusiasts. If you have a fondness for your favorite snacks and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless treat.\n\n#clairesaffitz #oatmeal #pie \n\nChapters:\n\n00:00 Intro\n01:10 Measurements\n01:29 Smell and taste test\n02:22 Ingredients\n03:42 Game plan\n03:49 Make cookie dough + bake\n13:21 Make adjustments to cookies\n22:11 Marshmallow cream\n25:29 Assemble\n26:19 Comparison\n27:55 Harris review\n28:32 Conclusion\n29:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nCOOKIES\n1¼ cups old-fashioned rolled oats, divided\n¼ cup raisins\n½ cup whole milk\n¼ cup water \n (¼ cup oats + raisins cooked in milk/water, remaining 1 cup oats processed w/ dry ingredients)\n1½ cups all-purpose flour\n2 teaspoons baking soda\n1 teaspoon kosher salt\n¾ teaspoon cinnamon\nPinch of ground cloves\n8 tablespoons (1 stick) unsalted butter, at room temperature\n¼ cup vegetable oil\n1 cup light brown sugar (packed)\n⅓ cup molasses\n1 large egg\n2 teaspoons pure vanilla extract\n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon King Arthur Pure Vanilla Extract", "duration" => 1755, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e083000 - I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates.mkv", "id" => "qX5AKIh2x_4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qX5AKIh2x_4", "playlist_index" => 9, "timestamp" => 1725026449, "title" => "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates", "upload_date" => "20240830"} 00:48:12.633 [debug] QUERY OK source="sources" db=0.2ms idle=1703.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:48:12.633 [debug] QUERY OK source="sources" db=0.2ms idle=1704.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:12.634 [debug] QUERY OK source="media_items" db=0.5ms idle=1704.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-30 14:00:49Z], 9] 00:48:12.637 [debug] QUERY OK source="media_items" db=1.5ms idle=1058.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz dives into beloved childhood snacks and iconic treats, adding her own creative flair. In today’s episode, she focuses on the classic Little Debbie Oatmeal Creme Pies, transforming them with a homemade twist. Join Claire as she reimagines this nostalgic favorite, sharing mouthwatering recipes perfect for home baking enthusiasts. If you have a fondness for your favorite snacks and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless treat.\n\n#clairesaffitz #oatmeal #pie \n\nChapters:\n\n00:00 Intro\n01:10 Measurements\n01:29 Smell and taste test\n02:22 Ingredients\n03:42 Game plan\n03:49 Make cookie dough + bake\n13:21 Make adjustments to cookies\n22:11 Marshmallow cream\n25:29 Assemble\n26:19 Comparison\n27:55 Harris review\n28:32 Conclusion\n29:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nCOOKIES\n1¼ cups old-fashioned rolled oats, divided\n¼ cup raisins\n½ cup whole milk\n¼ cup water \n (¼ cup oats + raisins cooked in milk/water, remaining 1 cup oats processed w/ dry ingredients)\n1½ cups all-purpose flour\n2 teaspoons baking soda\n1 teaspoon kosher salt\n¾ teaspoon cinnamon\nPinch of ground cloves\n8 tablespoons (1 stick) unsalted butter, at room temperature\n¼ cup vegetable oil\n1 cup light brown sugar (packed)\n⅓ cup molasses\n1 large egg\n2 teaspoons pure vanilla extract\n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon King Arthur Pure Vanilla Extract", "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates", "d137e2ef-b930-43c0-ab01-7c16f260147d", 9, [], 1755, false, "qX5AKIh2x_4", "https://www.youtube.com/watch?v=qX5AKIh2x_4", 9, "/downloads/shows/Claire Recreates/Season 2024/s2024e083000 - I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-08-30 14:00:49Z], ~U[2026-04-16 22:48:12Z], ~U[2026-04-16 22:48:12Z], "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz dives into beloved childhood snacks and iconic treats, adding her own creative flair. In today’s episode, she focuses on the classic Little Debbie Oatmeal Creme Pies, transforming them with a homemade twist. Join Claire as she reimagines this nostalgic favorite, sharing mouthwatering recipes perfect for home baking enthusiasts. If you have a fondness for your favorite snacks and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless treat.\n\n#clairesaffitz #oatmeal #pie \n\nChapters:\n\n00:00 Intro\n01:10 Measurements\n01:29 Smell and taste test\n02:22 Ingredients\n03:42 Game plan\n03:49 Make cookie dough + bake\n13:21 Make adjustments to cookies\n22:11 Marshmallow cream\n25:29 Assemble\n26:19 Comparison\n27:55 Harris review\n28:32 Conclusion\n29:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nCOOKIES\n1¼ cups old-fashioned rolled oats, divided\n¼ cup raisins\n½ cup whole milk\n¼ cup water \n (¼ cup oats + raisins cooked in milk/water, remaining 1 cup oats processed w/ dry ingredients)\n1½ cups all-purpose flour\n2 teaspoons baking soda\n1 teaspoon kosher salt\n¾ teaspoon cinnamon\nPinch of ground cloves\n8 tablespoons (1 stick) unsalted butter, at room temperature\n¼ cup vegetable oil\n1 cup light brown sugar (packed)\n⅓ cup molasses\n1 large egg\n2 teaspoons pure vanilla extract\n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon King Arthur Pure Vanilla Extract", "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates", 9, 1755, false, "qX5AKIh2x_4", "https://www.youtube.com/watch?v=qX5AKIh2x_4", "/downloads/shows/Claire Recreates/Season 2024/s2024e083000 - I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates.mkv", false, ~U[2024-08-30 14:00:49Z]] 00:48:12.637 [debug] QUERY OK source="sources" db=0.2ms idle=59.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:12.637 [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] 00:48:12.638 [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 [29422] 00:48:12.638 [debug] Current batch of media processed. Will check again in 1000ms 00:48:13.639 [debug] Current batch of media processed. Will check again in 1000ms 00:48:14.640 [debug] Current batch of media processed. Will check again in 1000ms 00:48:15.641 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on the challenge of recreating beloved childhood snacks and iconic treats—but this time, she’s in new territory. In today’s episode, Claire tackles the Kinder Bueno, attempting to craft the crispy, creamy chocolate bar from scratch—all from a rental kitchen. With limited tools and unfamiliar surroundings, she puts her skills to the test, proving that great recipes can come together anywhere. If you love nostalgic sweets and the thrill of recipe experimentation, this episode is a must-watch!\n\n#kinderbueno #clairesaffitz #chocolate \n\nChapters\n00:00 Intro\n00:26 How To Make Kinder Bueno\n02:46 Measurements\n02:59 Taste test\n04:53 Ingredients\n06:14 Molds\n11:07 How To Make Kinder Bueno Wafers\n18:10 100% polycarbonate\n20:04 Plan B?\n21:37 Lessons learned\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1385, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e032000 - I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates.mkv", "id" => "ipwx-AzyDNk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ipwx-AzyDNk", "playlist_index" => 10, "timestamp" => 1742479230, "title" => "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates", "upload_date" => "20250320"} 00:48:15.642 [debug] QUERY OK source="sources" db=0.2ms idle=1712.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:48:15.642 [debug] QUERY OK source="sources" db=0.1ms idle=1712.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:15.643 [debug] QUERY OK source="media_items" db=0.2ms idle=1713.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-20 14:00:30Z], 9] 00:48:15.645 [debug] QUERY OK source="media_items" db=1.2ms idle=1063.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on the challenge of recreating beloved childhood snacks and iconic treats—but this time, she’s in new territory. In today’s episode, Claire tackles the Kinder Bueno, attempting to craft the crispy, creamy chocolate bar from scratch—all from a rental kitchen. With limited tools and unfamiliar surroundings, she puts her skills to the test, proving that great recipes can come together anywhere. If you love nostalgic sweets and the thrill of recipe experimentation, this episode is a must-watch!\n\n#kinderbueno #clairesaffitz #chocolate \n\nChapters\n00:00 Intro\n00:26 How To Make Kinder Bueno\n02:46 Measurements\n02:59 Taste test\n04:53 Ingredients\n06:14 Molds\n11:07 How To Make Kinder Bueno Wafers\n18:10 100% polycarbonate\n20:04 Plan B?\n21:37 Lessons learned\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates", "86d80929-a033-4cb0-91ec-f78e22a529ce", 9, [], 1385, false, "ipwx-AzyDNk", "https://www.youtube.com/watch?v=ipwx-AzyDNk", 10, "/downloads/shows/Claire Recreates/Season 2025/s2025e032000 - I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates.mkv", false, false, false, 1, ~U[2025-03-20 14:00:30Z], ~U[2026-04-16 22:48:15Z], ~U[2026-04-16 22:48:15Z], "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on the challenge of recreating beloved childhood snacks and iconic treats—but this time, she’s in new territory. In today’s episode, Claire tackles the Kinder Bueno, attempting to craft the crispy, creamy chocolate bar from scratch—all from a rental kitchen. With limited tools and unfamiliar surroundings, she puts her skills to the test, proving that great recipes can come together anywhere. If you love nostalgic sweets and the thrill of recipe experimentation, this episode is a must-watch!\n\n#kinderbueno #clairesaffitz #chocolate \n\nChapters\n00:00 Intro\n00:26 How To Make Kinder Bueno\n02:46 Measurements\n02:59 Taste test\n04:53 Ingredients\n06:14 Molds\n11:07 How To Make Kinder Bueno Wafers\n18:10 100% polycarbonate\n20:04 Plan B?\n21:37 Lessons learned\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates", 9, 1385, false, "ipwx-AzyDNk", "https://www.youtube.com/watch?v=ipwx-AzyDNk", "/downloads/shows/Claire Recreates/Season 2025/s2025e032000 - I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates.mkv", false, ~U[2025-03-20 14:00:30Z]] 00:48:15.645 [debug] QUERY OK source="sources" db=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" = ?) [9] 00:48:15.645 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:48:15.646 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29423] 00:48:15.646 [debug] Current batch of media processed. Will check again in 1000ms 00:48:16.647 [debug] Current batch of media processed. Will check again in 1000ms 00:48:17.648 [debug] Current batch of media processed. Will check again in 1000ms 00:48:18.649 [debug] Current batch of media processed. Will check again in 1000ms 00:48:19.650 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Australian Tim Tams | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on one of the most iconic Australian snacks of all time — Tim Tams. Known for their rich chocolate coating, creamy filling, and signature crunchy biscuit texture, Tim Tams are a beloved treat across Australia and beyond. Claire attempts to recreate Tim Tams from scratch, using her precise baking techniques and deep understanding of pastry science to reverse-engineer this layered chocolate biscuit sandwich at home.\n\nWatch as Claire tests different chocolate biscuit recipes, explores the mechanics of the perfect Tim Tam Slam, and tackles the challenge of replicating a store-bought snack with homemade methods. This episode blends Claire’s signature charm with technical baking as she breaks down how to make homemade Tim Tams, one of the most recognizable Australian treats.\n\nIf you’re a fan of nostalgic snack recipes, iconic cookie recreations, or just love watching detailed step-by-step baking challenges, this episode is for you.\n\n#ClaireSaffitz #ClaireRecreates #TimTams #ChocolateBiscuits #BakingChallenge #dessertperson \n\nChapters\n\n00:00 Intro\n00:18 Tim Tams\n01:53 Taste test\n03:56 Measurements\n04:59 Reading the Ingredients\n06:25 Game plan\n06:42 Make cookies / biscuits\n14:14 Use pasta roller\n17:31 Make filling\n19:13 Assemble\n22:02 Enrobe\n23:13 Comparison\n25:38 Cat cam\n\nChocolate biscuit\n1½ cups all-purpose flour\n½ cup unsweetened cocoa powder\n2 tablespoon malted milk powder \n¾ teaspoon kosher salt\n½ teaspoon baking powder \n1 stick unsalted butter, at cool room temperature \n¾ cup sugar\n1 large egg\n2 teaspoons pure vanilla extract\n\nChocolate cream filling: \n150g milk chocolate, chopped\n150g heavy cream\nSalt\n\nChocolate coating \nDark chocolate\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1555, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e050100 - I Tried Making Homemade Australian Tim Tams | Claire Recreates.mkv", "id" => "X5-yAJszoB0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=X5-yAJszoB0", "playlist_index" => 11, "timestamp" => 1746108048, "title" => "I Tried Making Homemade Australian Tim Tams | Claire Recreates", "upload_date" => "20250501"} 00:48:19.651 [debug] QUERY OK source="sources" db=0.2ms idle=721.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:48:19.651 [debug] QUERY OK source="sources" db=0.1ms idle=722.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:19.652 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=722.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-01 14:00:48Z], 9] 00:48:19.655 [debug] QUERY OK source="media_items" db=2.2ms idle=723.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Australian Tim Tams | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on one of the most iconic Australian snacks of all time — Tim Tams. Known for their rich chocolate coating, creamy filling, and signature crunchy biscuit texture, Tim Tams are a beloved treat across Australia and beyond. Claire attempts to recreate Tim Tams from scratch, using her precise baking techniques and deep understanding of pastry science to reverse-engineer this layered chocolate biscuit sandwich at home.\n\nWatch as Claire tests different chocolate biscuit recipes, explores the mechanics of the perfect Tim Tam Slam, and tackles the challenge of replicating a store-bought snack with homemade methods. This episode blends Claire’s signature charm with technical baking as she breaks down how to make homemade Tim Tams, one of the most recognizable Australian treats.\n\nIf you’re a fan of nostalgic snack recipes, iconic cookie recreations, or just love watching detailed step-by-step baking challenges, this episode is for you.\n\n#ClaireSaffitz #ClaireRecreates #TimTams #ChocolateBiscuits #BakingChallenge #dessertperson \n\nChapters\n\n00:00 Intro\n00:18 Tim Tams\n01:53 Taste test\n03:56 Measurements\n04:59 Reading the Ingredients\n06:25 Game plan\n06:42 Make cookies / biscuits\n14:14 Use pasta roller\n17:31 Make filling\n19:13 Assemble\n22:02 Enrobe\n23:13 Comparison\n25:38 Cat cam\n\nChocolate biscuit\n1½ cups all-purpose flour\n½ cup unsweetened cocoa powder\n2 tablespoon malted milk powder \n¾ teaspoon kosher salt\n½ teaspoon baking powder \n1 stick unsalted butter, at cool room temperature \n¾ cup sugar\n1 large egg\n2 teaspoons pure vanilla extract\n\nChocolate cream filling: \n150g milk chocolate, chopped\n150g heavy cream\nSalt\n\nChocolate coating \nDark chocolate\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Australian Tim Tams | Claire Recreates", "812f64d0-0b87-476a-95c6-1ce3707c79df", 9, [], 1555, false, "X5-yAJszoB0", "https://www.youtube.com/watch?v=X5-yAJszoB0", 11, "/downloads/shows/Claire Recreates/Season 2025/s2025e050100 - I Tried Making Homemade Australian Tim Tams | Claire Recreates.mkv", false, false, false, 1, ~U[2025-05-01 14:00:48Z], ~U[2026-04-16 22:48:19Z], ~U[2026-04-16 22:48:19Z], "I Tried Making Homemade Australian Tim Tams | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on one of the most iconic Australian snacks of all time — Tim Tams. Known for their rich chocolate coating, creamy filling, and signature crunchy biscuit texture, Tim Tams are a beloved treat across Australia and beyond. Claire attempts to recreate Tim Tams from scratch, using her precise baking techniques and deep understanding of pastry science to reverse-engineer this layered chocolate biscuit sandwich at home.\n\nWatch as Claire tests different chocolate biscuit recipes, explores the mechanics of the perfect Tim Tam Slam, and tackles the challenge of replicating a store-bought snack with homemade methods. This episode blends Claire’s signature charm with technical baking as she breaks down how to make homemade Tim Tams, one of the most recognizable Australian treats.\n\nIf you’re a fan of nostalgic snack recipes, iconic cookie recreations, or just love watching detailed step-by-step baking challenges, this episode is for you.\n\n#ClaireSaffitz #ClaireRecreates #TimTams #ChocolateBiscuits #BakingChallenge #dessertperson \n\nChapters\n\n00:00 Intro\n00:18 Tim Tams\n01:53 Taste test\n03:56 Measurements\n04:59 Reading the Ingredients\n06:25 Game plan\n06:42 Make cookies / biscuits\n14:14 Use pasta roller\n17:31 Make filling\n19:13 Assemble\n22:02 Enrobe\n23:13 Comparison\n25:38 Cat cam\n\nChocolate biscuit\n1½ cups all-purpose flour\n½ cup unsweetened cocoa powder\n2 tablespoon malted milk powder \n¾ teaspoon kosher salt\n½ teaspoon baking powder \n1 stick unsalted butter, at cool room temperature \n¾ cup sugar\n1 large egg\n2 teaspoons pure vanilla extract\n\nChocolate cream filling: \n150g milk chocolate, chopped\n150g heavy cream\nSalt\n\nChocolate coating \nDark chocolate\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Australian Tim Tams | Claire Recreates", 9, 1555, false, "X5-yAJszoB0", "https://www.youtube.com/watch?v=X5-yAJszoB0", "/downloads/shows/Claire Recreates/Season 2025/s2025e050100 - I Tried Making Homemade Australian Tim Tams | Claire Recreates.mkv", false, ~U[2025-05-01 14:00:48Z]] 00:48:19.655 [debug] QUERY OK source="sources" db=0.2ms idle=67.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:19.656 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:48:19.656 [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 [29434] 00:48:19.656 [debug] Current batch of media processed. Will check again in 1000ms 00:48:20.657 [debug] Current batch of media processed. Will check again in 1000ms 00:48:21.658 [debug] Current batch of media processed. Will check again in 1000ms 00:48:22.659 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Tokyo Bananas | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on Japan’s most beloved souvenir treat ... the Tokyo Banana. These soft sponge cakes filled with sweet banana custard are a staple of Japanese train stations, gift shops, and childhood memories. Claire breaks it down step-by-step, making everything from scratch, from the light-as-air sponge cake to the rich banana cream filling.\n\nWhether you’re a Tokyo Banana superfan or discovering this iconic snack for the first time, follow along as Claire gives this classic the Dessert Person™ treatment.\n\n#TokyoBanana #ClaireSaffitz #ClaireRecreates #JapaneseSnacks #BananaCustard #SpongeCakeRecipe #JapaneseBaking #DessertPerson \n\nTOKYO BANANA (Recreates)\n\nSPONGE CAKE\n4 egg yolks, at room temperature\n20g sugar\n40 ml milk \n40g oil\n½ teaspoon vanilla extract\n30g all-purpose flour\n30g cornstarch\n4 egg whites, at room temperature\nPinch of salt \n¼ teaspoon cream of tartar \n60g sugar \n\nBANANA CREAM\n⅓ cup sugar \n3 tablespoons cornstarch\n½ teaspoon Diamond Crystal kosher salt \n4 large egg yolks\n1⅔ cups heavy cream, chilled\n1 cup mashed overripe banana (8.5 oz / 240g), from about 2 medium\n\nChapters\n00:00 Intro\n00:19 Tokyo Banana\n01:05 Smell test\n02:08 Taste test\n02:29 Measurements\n03:56 Reading the ingredients\n05:12 How to make Tokyo Banana\n05:35 Make banana custard + cool\n10:47 How to make chiffon sponge\n17:31 Construction apparatus\n21:57 Assembly + chill\n24:12 Comparison\n26:56 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1634, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e061800 - I Tried Making Homemade Tokyo Bananas | Claire Recreates.mkv", "id" => "RWE_WnFfvcI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RWE_WnFfvcI", "playlist_index" => 12, "timestamp" => 1750255244, "title" => "I Tried Making Homemade Tokyo Bananas | Claire Recreates", "upload_date" => "20250618"} 00:48:22.660 [debug] QUERY OK source="sources" db=0.3ms idle=1730.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:48:22.661 [debug] QUERY OK source="sources" db=0.5ms idle=1731.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:22.662 [debug] QUERY OK source="media_items" db=0.4ms idle=1731.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-18 14:00:44Z], 9] 00:48:22.665 [debug] QUERY OK source="media_items" db=2.8ms idle=1072.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Tokyo Bananas | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on Japan’s most beloved souvenir treat ... the Tokyo Banana. These soft sponge cakes filled with sweet banana custard are a staple of Japanese train stations, gift shops, and childhood memories. Claire breaks it down step-by-step, making everything from scratch, from the light-as-air sponge cake to the rich banana cream filling.\n\nWhether you’re a Tokyo Banana superfan or discovering this iconic snack for the first time, follow along as Claire gives this classic the Dessert Person™ treatment.\n\n#TokyoBanana #ClaireSaffitz #ClaireRecreates #JapaneseSnacks #BananaCustard #SpongeCakeRecipe #JapaneseBaking #DessertPerson \n\nTOKYO BANANA (Recreates)\n\nSPONGE CAKE\n4 egg yolks, at room temperature\n20g sugar\n40 ml milk \n40g oil\n½ teaspoon vanilla extract\n30g all-purpose flour\n30g cornstarch\n4 egg whites, at room temperature\nPinch of salt \n¼ teaspoon cream of tartar \n60g sugar \n\nBANANA CREAM\n⅓ cup sugar \n3 tablespoons cornstarch\n½ teaspoon Diamond Crystal kosher salt \n4 large egg yolks\n1⅔ cups heavy cream, chilled\n1 cup mashed overripe banana (8.5 oz / 240g), from about 2 medium\n\nChapters\n00:00 Intro\n00:19 Tokyo Banana\n01:05 Smell test\n02:08 Taste test\n02:29 Measurements\n03:56 Reading the ingredients\n05:12 How to make Tokyo Banana\n05:35 Make banana custard + cool\n10:47 How to make chiffon sponge\n17:31 Construction apparatus\n21:57 Assembly + chill\n24:12 Comparison\n26:56 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Tokyo Bananas | Claire Recreates", "cdb72d9a-02f1-4e7e-9dbf-caff653b9d63", 9, [], 1634, false, "RWE_WnFfvcI", "https://www.youtube.com/watch?v=RWE_WnFfvcI", 12, "/downloads/shows/Claire Recreates/Season 2025/s2025e061800 - I Tried Making Homemade Tokyo Bananas | Claire Recreates.mkv", false, false, false, 1, ~U[2025-06-18 14:00:44Z], ~U[2026-04-16 22:48:22Z], ~U[2026-04-16 22:48:22Z], "I Tried Making Homemade Tokyo Bananas | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on Japan’s most beloved souvenir treat ... the Tokyo Banana. These soft sponge cakes filled with sweet banana custard are a staple of Japanese train stations, gift shops, and childhood memories. Claire breaks it down step-by-step, making everything from scratch, from the light-as-air sponge cake to the rich banana cream filling.\n\nWhether you’re a Tokyo Banana superfan or discovering this iconic snack for the first time, follow along as Claire gives this classic the Dessert Person™ treatment.\n\n#TokyoBanana #ClaireSaffitz #ClaireRecreates #JapaneseSnacks #BananaCustard #SpongeCakeRecipe #JapaneseBaking #DessertPerson \n\nTOKYO BANANA (Recreates)\n\nSPONGE CAKE\n4 egg yolks, at room temperature\n20g sugar\n40 ml milk \n40g oil\n½ teaspoon vanilla extract\n30g all-purpose flour\n30g cornstarch\n4 egg whites, at room temperature\nPinch of salt \n¼ teaspoon cream of tartar \n60g sugar \n\nBANANA CREAM\n⅓ cup sugar \n3 tablespoons cornstarch\n½ teaspoon Diamond Crystal kosher salt \n4 large egg yolks\n1⅔ cups heavy cream, chilled\n1 cup mashed overripe banana (8.5 oz / 240g), from about 2 medium\n\nChapters\n00:00 Intro\n00:19 Tokyo Banana\n01:05 Smell test\n02:08 Taste test\n02:29 Measurements\n03:56 Reading the ingredients\n05:12 How to make Tokyo Banana\n05:35 Make banana custard + cool\n10:47 How to make chiffon sponge\n17:31 Construction apparatus\n21:57 Assembly + chill\n24:12 Comparison\n26:56 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Tokyo Bananas | Claire Recreates", 9, 1634, false, "RWE_WnFfvcI", "https://www.youtube.com/watch?v=RWE_WnFfvcI", "/downloads/shows/Claire Recreates/Season 2025/s2025e061800 - I Tried Making Homemade Tokyo Bananas | Claire Recreates.mkv", false, ~U[2025-06-18 14:00:44Z]] 00:48:22.666 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=74.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:22.667 [debug] QUERY OK source="media_profiles" db=0.9ms 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] 00:48:22.668 [debug] QUERY OK source="media_items" db=1.0ms 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 [43875] 00:48:22.669 [debug] Current batch of media processed. Will check again in 1000ms 00:48:23.670 [debug] Current batch of media processed. Will check again in 1000ms 00:48:24.671 [debug] Current batch of media processed. Will check again in 1000ms 00:48:25.672 [debug] Current batch of media processed. Will check again in 1000ms 00:48:26.673 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates\nJoin Claire Saffitz in this episode of Claire Recreates as she takes on the beloved Mexican snack cake, Gansitos. From fluffy sponge cake to rich strawberry jam, creamy filling, and a decadent chocolate coating, Claire shows you how to recreate this nostalgic treat from scratch. Whether you grew up with Gansitos or are discovering them for the first time, this recipe is a delicious trip down memory lane.\nFilmed with baking techniques and inspired by the original Marinela Gansito, Claire walks through every step, sharing tips, baking science, and fun behind-the-scenes moments. Perfect for fans of Mexican desserts, snack cake lovers, and anyone curious about making iconic treats at home.\n\n#gansitos #cake #clairesaffitz #snackcake #chocolatedessert #strawberry \n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin → softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla extract\n\nSTRAWBERRY JELLY\n\nSPONGE CAKE\n4 large eggs, whites and yolks separated, at room temperature\n½ cup (100g) granulated sugar, divided\n4 tablespoons whole milk (60ml)\n½ teaspoon kosher salt\n¼ teaspoon cream of tartar\n¼ cup neutral oil\n⅔ cup (85g) all-purpose flour\n1 teaspoon vanilla extract\n\nChapters:\n00:00 Intro\n00:29 Gansitos\n00:58 First impressions\n01:19 Smell test\n01:29 Taste test\n01:57 Measurements\n03:17 Reading the Ingredients\n06:26 Game plan\n06:42 Make sprinkles\n09:50 Strawberry jelly\n10:57 Trip to apple orchard\n11:44 Strawberry jelly continued\n12:38 Bake sponge\n21:55 Creme filling\n25:40 Chocolate poured fondant + assembly\n29:37 Comparison\n31:42 Cat cam\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1919, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e081400 - I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates.mkv", "id" => "k9rGZzQswI0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=k9rGZzQswI0", "playlist_index" => 13, "timestamp" => 1755180068, "title" => "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates", "upload_date" => "20250814"} 00:48:26.674 [debug] QUERY OK source="sources" db=0.2ms idle=744.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:48:26.674 [debug] QUERY OK source="sources" db=0.1ms idle=745.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:26.675 [debug] QUERY OK source="media_items" db=0.1ms idle=745.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 14:01:08Z], 9] 00:48:26.689 [debug] QUERY OK source="media_items" db=13.2ms idle=745.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates\nJoin Claire Saffitz in this episode of Claire Recreates as she takes on the beloved Mexican snack cake, Gansitos. From fluffy sponge cake to rich strawberry jam, creamy filling, and a decadent chocolate coating, Claire shows you how to recreate this nostalgic treat from scratch. Whether you grew up with Gansitos or are discovering them for the first time, this recipe is a delicious trip down memory lane.\nFilmed with baking techniques and inspired by the original Marinela Gansito, Claire walks through every step, sharing tips, baking science, and fun behind-the-scenes moments. Perfect for fans of Mexican desserts, snack cake lovers, and anyone curious about making iconic treats at home.\n\n#gansitos #cake #clairesaffitz #snackcake #chocolatedessert #strawberry \n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin → softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla extract\n\nSTRAWBERRY JELLY\n\nSPONGE CAKE\n4 large eggs, whites and yolks separated, at room temperature\n½ cup (100g) granulated sugar, divided\n4 tablespoons whole milk (60ml)\n½ teaspoon kosher salt\n¼ teaspoon cream of tartar\n¼ cup neutral oil\n⅔ cup (85g) all-purpose flour\n1 teaspoon vanilla extract\n\nChapters:\n00:00 Intro\n00:29 Gansitos\n00:58 First impressions\n01:19 Smell test\n01:29 Taste test\n01:57 Measurements\n03:17 Reading the Ingredients\n06:26 Game plan\n06:42 Make sprinkles\n09:50 Strawberry jelly\n10:57 Trip to apple orchard\n11:44 Strawberry jelly continued\n12:38 Bake sponge\n21:55 Creme filling\n25:40 Chocolate poured fondant + assembly\n29:37 Comparison\n31:42 Cat cam\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates", "0d9bfdbb-9a33-412c-a9ff-3292a4d178f5", 9, [], 1919, false, "k9rGZzQswI0", "https://www.youtube.com/watch?v=k9rGZzQswI0", 13, "/downloads/shows/Claire Recreates/Season 2025/s2025e081400 - I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates.mkv", false, false, false, 1, ~U[2025-08-14 14:01:08Z], ~U[2026-04-16 22:48:26Z], ~U[2026-04-16 22:48:26Z], "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates\nJoin Claire Saffitz in this episode of Claire Recreates as she takes on the beloved Mexican snack cake, Gansitos. From fluffy sponge cake to rich strawberry jam, creamy filling, and a decadent chocolate coating, Claire shows you how to recreate this nostalgic treat from scratch. Whether you grew up with Gansitos or are discovering them for the first time, this recipe is a delicious trip down memory lane.\nFilmed with baking techniques and inspired by the original Marinela Gansito, Claire walks through every step, sharing tips, baking science, and fun behind-the-scenes moments. Perfect for fans of Mexican desserts, snack cake lovers, and anyone curious about making iconic treats at home.\n\n#gansitos #cake #clairesaffitz #snackcake #chocolatedessert #strawberry \n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin → softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla extract\n\nSTRAWBERRY JELLY\n\nSPONGE CAKE\n4 large eggs, whites and yolks separated, at room temperature\n½ cup (100g) granulated sugar, divided\n4 tablespoons whole milk (60ml)\n½ teaspoon kosher salt\n¼ teaspoon cream of tartar\n¼ cup neutral oil\n⅔ cup (85g) all-purpose flour\n1 teaspoon vanilla extract\n\nChapters:\n00:00 Intro\n00:29 Gansitos\n00:58 First impressions\n01:19 Smell test\n01:29 Taste test\n01:57 Measurements\n03:17 Reading the Ingredients\n06:26 Game plan\n06:42 Make sprinkles\n09:50 Strawberry jelly\n10:57 Trip to apple orchard\n11:44 Strawberry jelly continued\n12:38 Bake sponge\n21:55 Creme filling\n25:40 Chocolate poured fondant + assembly\n29:37 Comparison\n31:42 Cat cam\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates", 9, 1919, false, "k9rGZzQswI0", "https://www.youtube.com/watch?v=k9rGZzQswI0", "/downloads/shows/Claire Recreates/Season 2025/s2025e081400 - I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates.mkv", false, ~U[2025-08-14 14:01:08Z]] 00:48:26.689 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:26.690 [debug] QUERY OK source="media_profiles" db=0.1ms idle=15.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:48:26.690 [debug] QUERY OK source="media_items" db=0.2ms idle=15.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [62328] 00:48:26.690 [debug] Current batch of media processed. Will check again in 1000ms 00:48:27.691 [debug] Current batch of media processed. Will check again in 1000ms 00:48:28.692 [debug] Current batch of media processed. Will check again in 1000ms 00:48:29.693 [debug] Current batch of media processed. Will check again in 1000ms 00:48:30.694 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates\nCan Claire Saffitz recreate the iconic Nutter Butter cookie at home? In this episode of Claire Recreates, Claire takes on the challenge of making homemade Nutter Butters completely from scratch. She bakes crunchy peanut shaped cookies and fills them with creamy peanut butter frosting.\n\nFrom mixing the dough to shaping the classic peanut design and testing the filling, Claire shows every step of the process as she compares homemade vs store bought Nutter Butters. Does the DIY version hold up against the nostalgic packaged cookie? Watch to find out.\n\nIf you have ever wondered how to make Nutter Butter cookies at home or wanted to see how they compare to the original, this video has the recipes, techniques, and taste test you are looking for.\n\n#ClaireSaffitz #ClaireRecreates #NutterButter #HomemadeCookies #baking \n\nIngredients:\nDOUGH\n2½ cups all-purpose flour \n½ teaspoon whole wheat flour \n¼ teaspoon baking soda\n1½ teaspoons Diamond Crystal kosher salt\n2 sticks unsalted butter, at room temperature\n1 cup granulated sugar\n1 cup natural smooth peanut butter\n2 large eggs (3.5 oz / 100g)\n1 teaspoon vanilla extract\nFILLING\n1 cup smooth natural peanut butter \n½ tsp. vanilla extract \nKosher salt\n¼ cup sugar\n3 tablespoons corn syrup\n1 tablespoon honey \n2 tablespoons butter \n\nChapters\n00:00 Intro\n00:16 How To Make Nutter Butter Cookies\n00:40 First impressions\n01:53 Ingredients\n02:54 Measurements\n04:01 Wood carving kit\n05:08 Game plan\n05:20 Cookie stamp\n10:02 Make Nutter Butter Cookies\n19:15 Bake\n20:57 Filling\n23:09 Assembly\n23:38 Comparison\n25:23 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1540, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e092600 - I Tried Making Homemade Nutter Butter Cookies | Claire Recreates.mkv", "id" => "ck6D0SdiYA0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ck6D0SdiYA0", "playlist_index" => 14, "timestamp" => 1758895274, "title" => "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates", "upload_date" => "20250926"} 00:48:30.695 [debug] QUERY OK source="sources" db=0.2ms idle=765.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:48:30.695 [debug] QUERY OK source="sources" db=0.1ms idle=766.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:30.696 [debug] QUERY OK source="media_items" db=0.2ms idle=766.3ms SELECT max(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:14Z], 9] 00:48:30.700 [debug] QUERY OK source="media_items" db=3.4ms idle=766.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Nutter Butter Cookies | Claire Recreates\nCan Claire Saffitz recreate the iconic Nutter Butter cookie at home? In this episode of Claire Recreates, Claire takes on the challenge of making homemade Nutter Butters completely from scratch. She bakes crunchy peanut shaped cookies and fills them with creamy peanut butter frosting.\n\nFrom mixing the dough to shaping the classic peanut design and testing the filling, Claire shows every step of the process as she compares homemade vs store bought Nutter Butters. Does the DIY version hold up against the nostalgic packaged cookie? Watch to find out.\n\nIf you have ever wondered how to make Nutter Butter cookies at home or wanted to see how they compare to the original, this video has the recipes, techniques, and taste test you are looking for.\n\n#ClaireSaffitz #ClaireRecreates #NutterButter #HomemadeCookies #baking \n\nIngredients:\nDOUGH\n2½ cups all-purpose flour \n½ teaspoon whole wheat flour \n¼ teaspoon baking soda\n1½ teaspoons Diamond Crystal kosher salt\n2 sticks unsalted butter, at room temperature\n1 cup granulated sugar\n1 cup natural smooth peanut butter\n2 large eggs (3.5 oz / 100g)\n1 teaspoon vanilla extract\nFILLING\n1 cup smooth natural peanut butter \n½ tsp. vanilla extract \nKosher salt\n¼ cup sugar\n3 tablespoons corn syrup\n1 tablespoon honey \n2 tablespoons butter \n\nChapters\n00:00 Intro\n00:16 How To Make Nutter Butter Cookies\n00:40 First impressions\n01:53 Ingredients\n02:54 Measurements\n04:01 Wood carving kit\n05:08 Game plan\n05:20 Cookie stamp\n10:02 Make Nutter Butter Cookies\n19:15 Bake\n20:57 Filling\n23:09 Assembly\n23:38 Comparison\n25:23 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates", "542f2ca1-7098-4bbf-9e05-76a2453dd116", 9, [], 1540, false, "ck6D0SdiYA0", "https://www.youtube.com/watch?v=ck6D0SdiYA0", 14, "/downloads/shows/Claire Recreates/Season 2025/s2025e092600 - I Tried Making Homemade Nutter Butter Cookies | Claire Recreates.mkv", false, false, false, 1, ~U[2025-09-26 14:01:14Z], ~U[2026-04-16 22:48:30Z], ~U[2026-04-16 22:48:30Z], "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates\nCan Claire Saffitz recreate the iconic Nutter Butter cookie at home? In this episode of Claire Recreates, Claire takes on the challenge of making homemade Nutter Butters completely from scratch. She bakes crunchy peanut shaped cookies and fills them with creamy peanut butter frosting.\n\nFrom mixing the dough to shaping the classic peanut design and testing the filling, Claire shows every step of the process as she compares homemade vs store bought Nutter Butters. Does the DIY version hold up against the nostalgic packaged cookie? Watch to find out.\n\nIf you have ever wondered how to make Nutter Butter cookies at home or wanted to see how they compare to the original, this video has the recipes, techniques, and taste test you are looking for.\n\n#ClaireSaffitz #ClaireRecreates #NutterButter #HomemadeCookies #baking \n\nIngredients:\nDOUGH\n2½ cups all-purpose flour \n½ teaspoon whole wheat flour \n¼ teaspoon baking soda\n1½ teaspoons Diamond Crystal kosher salt\n2 sticks unsalted butter, at room temperature\n1 cup granulated sugar\n1 cup natural smooth peanut butter\n2 large eggs (3.5 oz / 100g)\n1 teaspoon vanilla extract\nFILLING\n1 cup smooth natural peanut butter \n½ tsp. vanilla extract \nKosher salt\n¼ cup sugar\n3 tablespoons corn syrup\n1 tablespoon honey \n2 tablespoons butter \n\nChapters\n00:00 Intro\n00:16 How To Make Nutter Butter Cookies\n00:40 First impressions\n01:53 Ingredients\n02:54 Measurements\n04:01 Wood carving kit\n05:08 Game plan\n05:20 Cookie stamp\n10:02 Make Nutter Butter Cookies\n19:15 Bake\n20:57 Filling\n23:09 Assembly\n23:38 Comparison\n25:23 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates", 9, 1540, false, "ck6D0SdiYA0", "https://www.youtube.com/watch?v=ck6D0SdiYA0", "/downloads/shows/Claire Recreates/Season 2025/s2025e092600 - I Tried Making Homemade Nutter Butter Cookies | Claire Recreates.mkv", false, ~U[2025-09-26 14:01:14Z]] 00:48:30.700 [debug] QUERY OK source="sources" db=0.2ms idle=100.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:30.701 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:48:30.702 [debug] QUERY OK source="media_items" db=0.2ms idle=6.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76761] 00:48:30.702 [debug] Current batch of media processed. Will check again in 1000ms 00:48:31.703 [debug] Current batch of media processed. Will check again in 1000ms 00:48:31.911 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:48:32.704 [debug] Current batch of media processed. Will check again in 1000ms 00:48:33.705 [debug] Current batch of media processed. Will check again in 1000ms 00:48:34.706 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Many thanks to our sponsor for today’s episode, Cometeer. If you’re interested in trying curated coffees from top roasters like Onyx, Proud Mary, and Intelligentsia, you can save $20 on your Discovery Box order by using the link http://cometeer.com/clairesaffitz . It’s the perfect way to start your morning or to give as a thoughtful gift this holiday season.\n\nI Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates \nIn this episode of Claire Recreates, Claire takes on the new-ish Hostess Iced Pumpkin Cupcake and makes it completely from scratch at home. Every fall, this limited-edition treat shows up in grocery stores and reminds us that pumpkin season has officially started. Claire dives into what makes it so nostalgic - the spiced pumpkin cake, the creamy filling, and that signature orange icing swirl -then recreates each element in her own kitchen.\n\nYou’ll see how she builds the cupcake step by step, from baking the soft pumpkin base to mixing the fluffy cream center and topping it with a smooth icing. She also shares a few tricks for getting the flavor and texture as close as possible to the original. Whether you’ve been waiting all year for pumpkin desserts or just love seeing classic snacks get a homemade twist, this one will make you want to preheat your oven.\n\nWatch until the end to see if Claire can match the look and taste of the real Hostess version, and find out how her homemade cupcakes compare. \n\nSubscribe for more recreations of nostalgic snacks and fall baking recipes, and let us know what Claire should tackle next.\n\n#ClaireRecreates #FallBaking #PumpkinDessert\n\nChapters\n00:00 Intro\n00:27 First impressions\n01:23 Smell test\n01:43 Taste test\n02:16 Measurements\n03:09 Reading the ingredients\n05:07 How To Make Iced Pumpkin Cupcakes\n06:43 How To Bake Cupcakes\n15:01 Coffee break\n16:40 Troubleshooting cupcakes\n19:44 How To Make Icing For Cupcakes\n27:40 Icing + decorating\n29:39 Comparison\n32:41 Cat cam\n\n\nIngredients\n\nCake\n1 cup mashed cooked sugar pumpkin (8.2 oz / 232g)\n⅓ cup milk\n1 teaspoon vanilla extract\n1½ cups all-purpose flour (7 oz / 200g)\n1½ teaspoons baking powder (0.21 oz / 6g)\n½ teaspoon ground cinnamon\n½ teaspoon Chinese five spice powder\n½ teaspoon ground turmeric\n¾ teaspoon Diamond Crystal kosher salt\n2 large eggs (3.5 oz / 100g), at room temperature\n¾ cup sugar (6.2 oz / 175g)\n¼ cup brown sugar\n½ cup neutral oil (3.9 oz / 110g)\n\nMarshmallow Filling\n38g water\n75g granulated sugar\n117g light corn syrup\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla paste\n\nIcing\nConfectioners’ sugar\nSour cream\nCorn syrup\nSalt\nVanilla\n\nSquiggles\nConfectioners’ sugar\nTurmeric\nBeet powder\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1979, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e102300 - I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates.mkv", "id" => "-veNfe5ZUF0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-veNfe5ZUF0", "playlist_index" => 15, "timestamp" => 1761228001, "title" => "I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates", "upload_date" => "20251023"} 00:48:34.707 [debug] QUERY OK source="sources" db=0.2ms idle=1103.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:48:34.707 [debug] QUERY OK source="sources" db=0.1ms idle=778.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:34.708 [debug] QUERY OK source="media_items" db=0.2ms idle=778.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 14:00:01Z], 9] 00:48:34.712 [debug] QUERY OK source="media_items" db=2.7ms idle=779.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Many thanks to our sponsor for today’s episode, Cometeer. If you’re interested in trying curated coffees from top roasters like Onyx, Proud Mary, and Intelligentsia, you can save $20 on your Discovery Box order by using the link http://cometeer.com/clairesaffitz . It’s the perfect way to start your morning or to give as a thoughtful gift this holiday season.\n\nI Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates \nIn this episode of Claire Recreates, Claire takes on the new-ish Hostess Iced Pumpkin Cupcake and makes it completely from scratch at home. Every fall, this limited-edition treat shows up in grocery stores and reminds us that pumpkin season has officially started. Claire dives into what makes it so nostalgic - the spiced pumpkin cake, the creamy filling, and that signature orange icing swirl -then recreates each element in her own kitchen.\n\nYou’ll see how she builds the cupcake step by step, from baking the soft pumpkin base to mixing the fluffy cream center and topping it with a smooth icing. She also shares a few tricks for getting the flavor and texture as close as possible to the original. Whether you’ve been waiting all year for pumpkin desserts or just love seeing classic snacks get a homemade twist, this one will make you want to preheat your oven.\n\nWatch until the end to see if Claire can match the look and taste of the real Hostess version, and find out how her homemade cupcakes compare. \n\nSubscribe for more recreations of nostalgic snacks and fall baking recipes, and let us know what Claire should tackle next.\n\n#ClaireRecreates #FallBaking #PumpkinDessert\n\nChapters\n00:00 Intro\n00:27 First impressions\n01:23 Smell test\n01:43 Taste test\n02:16 Measurements\n03:09 Reading the ingredients\n05:07 How To Make Iced Pumpkin Cupcakes\n06:43 How To Bake Cupcakes\n15:01 Coffee break\n16:40 Troubleshooting cupcakes\n19:44 How To Make Icing For Cupcakes\n27:40 Icing + decorating\n29:39 Comparison\n32:41 Cat cam\n\n\nIngredients\n\nCake\n1 cup mashed cooked sugar pumpkin (8.2 oz / 232g)\n⅓ cup milk\n1 teaspoon vanilla extract\n1½ cups all-purpose flour (7 oz / 200g)\n1½ teaspoons baking powder (0.21 oz / 6g)\n½ teaspoon ground cinnamon\n½ teaspoon Chinese five spice powder\n½ teaspoon ground turmeric\n¾ teaspoon Diamond Crystal kosher salt\n2 large eggs (3.5 oz / 100g), at room temperature\n¾ cup sugar (6.2 oz / 175g)\n¼ cup brown sugar\n½ cup neutral oil (3.9 oz / 110g)\n\nMarshmallow Filling\n38g water\n75g granulated sugar\n117g light corn syrup\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla paste\n\nIcing\nConfectioners’ sugar\nSour cream\nCorn syrup\nSalt\nVanilla\n\nSquiggles\nConfectioners’ sugar\nTurmeric\nBeet powder\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates", "8621baf3-655a-4f2f-9173-8711c36f930d", 9, [], 1979, false, "-veNfe5ZUF0", "https://www.youtube.com/watch?v=-veNfe5ZUF0", 15, "/downloads/shows/Claire Recreates/Season 2025/s2025e102300 - I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates.mkv", false, false, false, 1, ~U[2025-10-23 14:00:01Z], ~U[2026-04-16 22:48:34Z], ~U[2026-04-16 22:48:34Z], "Many thanks to our sponsor for today’s episode, Cometeer. If you’re interested in trying curated coffees from top roasters like Onyx, Proud Mary, and Intelligentsia, you can save $20 on your Discovery Box order by using the link http://cometeer.com/clairesaffitz . It’s the perfect way to start your morning or to give as a thoughtful gift this holiday season.\n\nI Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates \nIn this episode of Claire Recreates, Claire takes on the new-ish Hostess Iced Pumpkin Cupcake and makes it completely from scratch at home. Every fall, this limited-edition treat shows up in grocery stores and reminds us that pumpkin season has officially started. Claire dives into what makes it so nostalgic - the spiced pumpkin cake, the creamy filling, and that signature orange icing swirl -then recreates each element in her own kitchen.\n\nYou’ll see how she builds the cupcake step by step, from baking the soft pumpkin base to mixing the fluffy cream center and topping it with a smooth icing. She also shares a few tricks for getting the flavor and texture as close as possible to the original. Whether you’ve been waiting all year for pumpkin desserts or just love seeing classic snacks get a homemade twist, this one will make you want to preheat your oven.\n\nWatch until the end to see if Claire can match the look and taste of the real Hostess version, and find out how her homemade cupcakes compare. \n\nSubscribe for more recreations of nostalgic snacks and fall baking recipes, and let us know what Claire should tackle next.\n\n#ClaireRecreates #FallBaking #PumpkinDessert\n\nChapters\n00:00 Intro\n00:27 First impressions\n01:23 Smell test\n01:43 Taste test\n02:16 Measurements\n03:09 Reading the ingredients\n05:07 How To Make Iced Pumpkin Cupcakes\n06:43 How To Bake Cupcakes\n15:01 Coffee break\n16:40 Troubleshooting cupcakes\n19:44 How To Make Icing For Cupcakes\n27:40 Icing + decorating\n29:39 Comparison\n32:41 Cat cam\n\n\nIngredients\n\nCake\n1 cup mashed cooked sugar pumpkin (8.2 oz / 232g)\n⅓ cup milk\n1 teaspoon vanilla extract\n1½ cups all-purpose flour (7 oz / 200g)\n1½ teaspoons baking powder (0.21 oz / 6g)\n½ teaspoon ground cinnamon\n½ teaspoon Chinese five spice powder\n½ teaspoon ground turmeric\n¾ teaspoon Diamond Crystal kosher salt\n2 large eggs (3.5 oz / 100g), at room temperature\n¾ cup sugar (6.2 oz / 175g)\n¼ cup brown sugar\n½ cup neutral oil (3.9 oz / 110g)\n\nMarshmallow Filling\n38g water\n75g granulated sugar\n117g light corn syrup\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla paste\n\nIcing\nConfectioners’ sugar\nSour cream\nCorn syrup\nSalt\nVanilla\n\nSquiggles\nConfectioners’ sugar\nTurmeric\nBeet powder\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates", 9, 1979, false, "-veNfe5ZUF0", "https://www.youtube.com/watch?v=-veNfe5ZUF0", "/do (truncated) 00:48:34.712 [debug] QUERY OK source="sources" db=0.3ms idle=108.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:34.713 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 00:48:34.713 [debug] QUERY OK source="media_items" db=0.3ms 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 [86669] 00:48:34.714 [debug] Current batch of media processed. Will check again in 1000ms 00:48:35.714 [debug] Current batch of media processed. Will check again in 1000ms 00:48:36.715 [debug] Current batch of media processed. Will check again in 1000ms 00:48:37.716 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this episode of Dessert Person, Claire Saffitz makes Pommes Anna, a classic French potato dish that’s as elegant as it is comforting. Using freshly dug potatoes from her garden, Claire layers thinly sliced potatoes with rosemary-infused butter, garlic, salt, and pepper, then bakes them until crisp and golden on the outside and tender inside.\n\nThis recipe is simple, refined, and ideal for the holidays - perfect alongside roast chicken, turkey, or any festive centerpiece. Claire shares her tips for even slicing, layering for the best texture, and how to unmold Pommes Anna beautifully for your table.\n\nIf you’re looking for a holiday side that feels both classic and special, this is it.\n\n#thanksgiving #potatorecipe #clairesaffitz #holiday \n\nChapters\n00:00 Intro\n01:31 Ingredients & Special Equipment\n02:25 Infuse the Butter & Prepare the Potatoes\n10:24 Cook & Bake\n11:26 Remove & Let Cool\n12:26 Serve\n14:26 Cat cam\n\nIngredients\n1 stick unsalted butter\n2 sprigs fresh rosemary\n2 garlic cloves, smashed and peeled\n3 lbs medium potatoes, peeled and held in room temperature tap water\nKosher salt\nFreshly ground black pepper\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 883, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e103000 - The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz.mkv", "id" => "ch3TBJkVkTY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ch3TBJkVkTY", "playlist_index" => 16, "timestamp" => 1761832870, "title" => "The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz", "upload_date" => "20251030"} 00:48:37.717 [debug] QUERY OK source="sources" db=0.2ms idle=1787.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:48:37.717 [debug] QUERY OK source="sources" db=0.1ms idle=1788.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:37.718 [debug] QUERY OK source="media_items" db=0.2ms idle=1788.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 14:01:10Z], 9] 00:48:37.720 [debug] QUERY OK source="media_items" db=1.8ms idle=1111.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this episode of Dessert Person, Claire Saffitz makes Pommes Anna, a classic French potato dish that’s as elegant as it is comforting. Using freshly dug potatoes from her garden, Claire layers thinly sliced potatoes with rosemary-infused butter, garlic, salt, and pepper, then bakes them until crisp and golden on the outside and tender inside.\n\nThis recipe is simple, refined, and ideal for the holidays - perfect alongside roast chicken, turkey, or any festive centerpiece. Claire shares her tips for even slicing, layering for the best texture, and how to unmold Pommes Anna beautifully for your table.\n\nIf you’re looking for a holiday side that feels both classic and special, this is it.\n\n#thanksgiving #potatorecipe #clairesaffitz #holiday \n\nChapters\n00:00 Intro\n01:31 Ingredients & Special Equipment\n02:25 Infuse the Butter & Prepare the Potatoes\n10:24 Cook & Bake\n11:26 Remove & Let Cool\n12:26 Serve\n14:26 Cat cam\n\nIngredients\n1 stick unsalted butter\n2 sprigs fresh rosemary\n2 garlic cloves, smashed and peeled\n3 lbs medium potatoes, peeled and held in room temperature tap water\nKosher salt\nFreshly ground black pepper\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz", "59c18beb-2646-4fbd-ac06-bb63a18dbe60", 9, [], 883, false, "ch3TBJkVkTY", "https://www.youtube.com/watch?v=ch3TBJkVkTY", 16, "/downloads/shows/Claire Recreates/Season 2025/s2025e103000 - The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz.mkv", false, false, false, 1, ~U[2025-10-30 14:01:10Z], ~U[2026-04-16 22:48:37Z], ~U[2026-04-16 22:48:37Z], "In this episode of Dessert Person, Claire Saffitz makes Pommes Anna, a classic French potato dish that’s as elegant as it is comforting. Using freshly dug potatoes from her garden, Claire layers thinly sliced potatoes with rosemary-infused butter, garlic, salt, and pepper, then bakes them until crisp and golden on the outside and tender inside.\n\nThis recipe is simple, refined, and ideal for the holidays - perfect alongside roast chicken, turkey, or any festive centerpiece. Claire shares her tips for even slicing, layering for the best texture, and how to unmold Pommes Anna beautifully for your table.\n\nIf you’re looking for a holiday side that feels both classic and special, this is it.\n\n#thanksgiving #potatorecipe #clairesaffitz #holiday \n\nChapters\n00:00 Intro\n01:31 Ingredients & Special Equipment\n02:25 Infuse the Butter & Prepare the Potatoes\n10:24 Cook & Bake\n11:26 Remove & Let Cool\n12:26 Serve\n14:26 Cat cam\n\nIngredients\n1 stick unsalted butter\n2 sprigs fresh rosemary\n2 garlic cloves, smashed and peeled\n3 lbs medium potatoes, peeled and held in room temperature tap water\nKosher salt\nFreshly ground black pepper\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz", 9, 883, false, "ch3TBJkVkTY", "https://www.youtube.com/watch?v=ch3TBJkVkTY", "/downloads/shows/Claire Recreates/Season 2025/s2025e103000 - The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz.mkv", false, ~U[2025-10-30 14:01:10Z]] 00:48:37.721 [debug] QUERY OK source="sources" db=0.2ms idle=112.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:37.721 [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] 00:48:37.722 [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 [89428] 00:48:37.722 [debug] Current batch of media processed. Will check again in 1000ms 00:48:38.723 [debug] Current batch of media processed. Will check again in 1000ms 00:48:39.724 [debug] Current batch of media processed. Will check again in 1000ms 00:48:40.725 [debug] Current batch of media processed. Will check again in 1000ms 00:48:41.726 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates\nIn this episode of Claire Recreates, Claire tackles a true lunchbox classic: the Little Debbie Honey Bun. Soft, sticky, sweet, and glazed, Honey Buns are one of the most iconic packaged pastries around and recreating them at home is a labor of love. Claire dives into what makes the original so nostalgic, from the enriched dough and spiraled shape to the signature sticky-sweet glaze.\n\nYou’ll watch as she mixes and proofs the dough, rolls and cuts each bun, then fries them to get that signature tender, slightly chewy texture. Once they’re golden, she finishes them with a warm honey glaze that melts into all the nooks and crannies, giving them that unmistakable glossy sheen.\n\nAlong the way, Claire shares tips for developing flavor in the dough, keeping the buns soft after frying, and getting the glaze just right. Whether you grew up eating Honey Buns on the go or just love seeing nostalgic snacks recreated from scratch, this episode is pure sticky-sweet comfort.\n\nStick around until the end to see how Claire’s homemade Honey Buns compare to the Little Debbie original, and whether she can truly match the iconic taste and look.\n\nSubscribe for more recreations of nostalgic snacks and comfort-food favorites, and let us know what Claire should take on next.\n\n#ClaireRecreates #HoneyBuns #LittleDebbie\n\nChapters\n00:00 Intro\n00:15 First impressions\n00:54 Smell test\n02:12 Taste test\n02:49 Reading the ingredients\n04:44 Measurements\n06:16 Game plan\n06:40 Dough Rise\n13:29 Form buns (swirl) Proof\n21:21 Frying Glazing\n27:24 Comparison\n30:17 Cat cam\n\nDOUGH\n¾ cup whole milk\n38g plus 368g all-purpose flour\n3 large eggs, chilled\n1½ tablespoons vegetable oil\n1½ tablespoons granulated sugar\n1½ tablespoons honey\n8 grams kosher salt\n1½ teaspoons instant yeast\n85g unsalted butter, cut into ½-inch pieces, chilled\nNeutral oil, for frying\n\nSWIRL\nWater + Cinnamon\n\nGLAZE\n½ cup whole milk\n2 tablespoons unsalted butter\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1835, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e120400 - I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates.mkv", "id" => "CViDoQkqf24", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CViDoQkqf24", "playlist_index" => 17, "timestamp" => 1764860432, "title" => "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates", "upload_date" => "20251204"} 00:48:41.727 [debug] QUERY OK source="sources" db=0.3ms idle=797.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:48:41.727 [debug] QUERY OK source="sources" db=0.1ms idle=798.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:41.728 [debug] QUERY OK source="media_items" db=0.3ms idle=798.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-04 15:00:32Z], 9] 00:48:41.731 [debug] QUERY OK source="media_items" db=2.5ms idle=799.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates\nIn this episode of Claire Recreates, Claire tackles a true lunchbox classic: the Little Debbie Honey Bun. Soft, sticky, sweet, and glazed, Honey Buns are one of the most iconic packaged pastries around and recreating them at home is a labor of love. Claire dives into what makes the original so nostalgic, from the enriched dough and spiraled shape to the signature sticky-sweet glaze.\n\nYou’ll watch as she mixes and proofs the dough, rolls and cuts each bun, then fries them to get that signature tender, slightly chewy texture. Once they’re golden, she finishes them with a warm honey glaze that melts into all the nooks and crannies, giving them that unmistakable glossy sheen.\n\nAlong the way, Claire shares tips for developing flavor in the dough, keeping the buns soft after frying, and getting the glaze just right. Whether you grew up eating Honey Buns on the go or just love seeing nostalgic snacks recreated from scratch, this episode is pure sticky-sweet comfort.\n\nStick around until the end to see how Claire’s homemade Honey Buns compare to the Little Debbie original, and whether she can truly match the iconic taste and look.\n\nSubscribe for more recreations of nostalgic snacks and comfort-food favorites, and let us know what Claire should take on next.\n\n#ClaireRecreates #HoneyBuns #LittleDebbie\n\nChapters\n00:00 Intro\n00:15 First impressions\n00:54 Smell test\n02:12 Taste test\n02:49 Reading the ingredients\n04:44 Measurements\n06:16 Game plan\n06:40 Dough Rise\n13:29 Form buns (swirl) Proof\n21:21 Frying Glazing\n27:24 Comparison\n30:17 Cat cam\n\nDOUGH\n¾ cup whole milk\n38g plus 368g all-purpose flour\n3 large eggs, chilled\n1½ tablespoons vegetable oil\n1½ tablespoons granulated sugar\n1½ tablespoons honey\n8 grams kosher salt\n1½ teaspoons instant yeast\n85g unsalted butter, cut into ½-inch pieces, chilled\nNeutral oil, for frying\n\nSWIRL\nWater + Cinnamon\n\nGLAZE\n½ cup whole milk\n2 tablespoons unsalted butter\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates", "3436cffe-f20f-4e5c-8a9f-78ffd20dd14b", 9, [], 1835, false, "CViDoQkqf24", "https://www.youtube.com/watch?v=CViDoQkqf24", 17, "/downloads/shows/Claire Recreates/Season 2025/s2025e120400 - I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates.mkv", false, false, false, 1, ~U[2025-12-04 15:00:32Z], ~U[2026-04-16 22:48:41Z], ~U[2026-04-16 22:48:41Z], "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates\nIn this episode of Claire Recreates, Claire tackles a true lunchbox classic: the Little Debbie Honey Bun. Soft, sticky, sweet, and glazed, Honey Buns are one of the most iconic packaged pastries around and recreating them at home is a labor of love. Claire dives into what makes the original so nostalgic, from the enriched dough and spiraled shape to the signature sticky-sweet glaze.\n\nYou’ll watch as she mixes and proofs the dough, rolls and cuts each bun, then fries them to get that signature tender, slightly chewy texture. Once they’re golden, she finishes them with a warm honey glaze that melts into all the nooks and crannies, giving them that unmistakable glossy sheen.\n\nAlong the way, Claire shares tips for developing flavor in the dough, keeping the buns soft after frying, and getting the glaze just right. Whether you grew up eating Honey Buns on the go or just love seeing nostalgic snacks recreated from scratch, this episode is pure sticky-sweet comfort.\n\nStick around until the end to see how Claire’s homemade Honey Buns compare to the Little Debbie original, and whether she can truly match the iconic taste and look.\n\nSubscribe for more recreations of nostalgic snacks and comfort-food favorites, and let us know what Claire should take on next.\n\n#ClaireRecreates #HoneyBuns #LittleDebbie\n\nChapters\n00:00 Intro\n00:15 First impressions\n00:54 Smell test\n02:12 Taste test\n02:49 Reading the ingredients\n04:44 Measurements\n06:16 Game plan\n06:40 Dough Rise\n13:29 Form buns (swirl) Proof\n21:21 Frying Glazing\n27:24 Comparison\n30:17 Cat cam\n\nDOUGH\n¾ cup whole milk\n38g plus 368g all-purpose flour\n3 large eggs, chilled\n1½ tablespoons vegetable oil\n1½ tablespoons granulated sugar\n1½ tablespoons honey\n8 grams kosher salt\n1½ teaspoons instant yeast\n85g unsalted butter, cut into ½-inch pieces, chilled\nNeutral oil, for frying\n\nSWIRL\nWater + Cinnamon\n\nGLAZE\n½ cup whole milk\n2 tablespoons unsalted butter\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates", 9, 1835, false, "CViDoQkqf24", "https://www.youtube.com/watch?v=CViDoQkqf24", "/downloads/shows/Claire Recreates/Season 2025/s2025e120400 - I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates.mkv", false, ~U[2025-12-04 15:00:32Z]] 00:48:41.732 [debug] QUERY OK source="sources" db=0.3ms idle=119.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:41.732 [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] 00:48:41.733 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [103699] 00:48:41.733 [debug] Current batch of media processed. Will check again in 1000ms 00:48:42.734 [debug] Current batch of media processed. Will check again in 1000ms 00:48:43.735 [debug] Current batch of media processed. Will check again in 1000ms 00:48:44.736 [debug] Current batch of media processed. Will check again in 1000ms 00:48:45.737 [debug] Current batch of media processed. Will check again in 1000ms 00:48:46.738 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Whoppers | Claire Recreates\nIn this episode of Claire Recreates, Claire takes on a movie-theater and candy-aisle classic: Whoppers. Crunchy, airy, deeply malty, and coated in milk chocolate, Whoppers seem simple, but recreating that unmistakable texture from scratch turns out to be a real technical puzzle.\n\nClaire starts by breaking down the heart of the candy: the light, crisp malted center. She builds it from an Italian meringue made with whipped egg whites and a cooked sugar syrup, then folds in a carefully balanced malt mixture made from malted milk powder, barley malt flour, milk, salt, and leavening. The mixture is cooked, aerated, portioned into tiny spheres, and baked until dry, hollow, and shatter-crisp inside.\n\nOnce the centers are just right, Claire moves on to the chocolate. She coats each malted ball in smooth milk chocolate, dialing in the thickness and snap so it eats like the real thing, no waxy shortcuts, no shortcuts at all.\n\nAlong the way, Claire dives into what gives Whoppers their signature flavor, why malt is so nostalgic, and how industrial candy achieves that ultra-light crunch. She shares tips on sugar stages, drying vs. baking, and how small changes can completely alter the final texture.\n\n#clairesaffitz #whoppers #chocolate \n\nChapters\n00:00 Intro\n01:31 First impressions\n01:57 Reading the ingredients\n02:52 Taste test\n03:44 Measurements\n04:36 Game plan\n04:45 How To Make Whoppers\n17:34 Coat in tempered milk chocolate\n21:23 Comparison\n24:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1458, "filename" => "/downloads/shows/Claire Recreates/Season 2026/s2026e020400 - I Tried Making Homemade Whoppers | Claire Recreates.mkv", "id" => "Zs8bGlrcYAo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Zs8bGlrcYAo", "playlist_index" => 18, "timestamp" => 1770217267, "title" => "I Tried Making Homemade Whoppers | Claire Recreates", "upload_date" => "20260204"} 00:48:46.739 [debug] QUERY OK source="sources" db=0.2ms idle=1809.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:48:46.739 [debug] QUERY OK source="sources" db=0.1ms idle=1809.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:46.740 [debug] QUERY OK source="media_items" db=0.2ms idle=1810.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-04 15:01:07Z], 9] 00:48:46.742 [debug] QUERY OK source="media_items" db=1.3ms idle=1124.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Whoppers | Claire Recreates\nIn this episode of Claire Recreates, Claire takes on a movie-theater and candy-aisle classic: Whoppers. Crunchy, airy, deeply malty, and coated in milk chocolate, Whoppers seem simple, but recreating that unmistakable texture from scratch turns out to be a real technical puzzle.\n\nClaire starts by breaking down the heart of the candy: the light, crisp malted center. She builds it from an Italian meringue made with whipped egg whites and a cooked sugar syrup, then folds in a carefully balanced malt mixture made from malted milk powder, barley malt flour, milk, salt, and leavening. The mixture is cooked, aerated, portioned into tiny spheres, and baked until dry, hollow, and shatter-crisp inside.\n\nOnce the centers are just right, Claire moves on to the chocolate. She coats each malted ball in smooth milk chocolate, dialing in the thickness and snap so it eats like the real thing, no waxy shortcuts, no shortcuts at all.\n\nAlong the way, Claire dives into what gives Whoppers their signature flavor, why malt is so nostalgic, and how industrial candy achieves that ultra-light crunch. She shares tips on sugar stages, drying vs. baking, and how small changes can completely alter the final texture.\n\n#clairesaffitz #whoppers #chocolate \n\nChapters\n00:00 Intro\n01:31 First impressions\n01:57 Reading the ingredients\n02:52 Taste test\n03:44 Measurements\n04:36 Game plan\n04:45 How To Make Whoppers\n17:34 Coat in tempered milk chocolate\n21:23 Comparison\n24:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Whoppers | Claire Recreates", "bd08fa26-4a22-45a5-b866-235940ac7f01", 9, [], 1458, false, "Zs8bGlrcYAo", "https://www.youtube.com/watch?v=Zs8bGlrcYAo", 18, "/downloads/shows/Claire Recreates/Season 2026/s2026e020400 - I Tried Making Homemade Whoppers | Claire Recreates.mkv", false, false, false, 1, ~U[2026-02-04 15:01:07Z], ~U[2026-04-16 22:48:46Z], ~U[2026-04-16 22:48:46Z], "I Tried Making Homemade Whoppers | Claire Recreates\nIn this episode of Claire Recreates, Claire takes on a movie-theater and candy-aisle classic: Whoppers. Crunchy, airy, deeply malty, and coated in milk chocolate, Whoppers seem simple, but recreating that unmistakable texture from scratch turns out to be a real technical puzzle.\n\nClaire starts by breaking down the heart of the candy: the light, crisp malted center. She builds it from an Italian meringue made with whipped egg whites and a cooked sugar syrup, then folds in a carefully balanced malt mixture made from malted milk powder, barley malt flour, milk, salt, and leavening. The mixture is cooked, aerated, portioned into tiny spheres, and baked until dry, hollow, and shatter-crisp inside.\n\nOnce the centers are just right, Claire moves on to the chocolate. She coats each malted ball in smooth milk chocolate, dialing in the thickness and snap so it eats like the real thing, no waxy shortcuts, no shortcuts at all.\n\nAlong the way, Claire dives into what gives Whoppers their signature flavor, why malt is so nostalgic, and how industrial candy achieves that ultra-light crunch. She shares tips on sugar stages, drying vs. baking, and how small changes can completely alter the final texture.\n\n#clairesaffitz #whoppers #chocolate \n\nChapters\n00:00 Intro\n01:31 First impressions\n01:57 Reading the ingredients\n02:52 Taste test\n03:44 Measurements\n04:36 Game plan\n04:45 How To Make Whoppers\n17:34 Coat in tempered milk chocolate\n21:23 Comparison\n24:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Whoppers | Claire Recreates", 9, 1458, false, "Zs8bGlrcYAo", "https://www.youtube.com/watch?v=Zs8bGlrcYAo", "/downloads/shows/Claire Recreates/Season 2026/s2026e020400 - I Tried Making Homemade Whoppers | Claire Recreates.mkv", false, ~U[2026-02-04 15:01:07Z]] 00:48:46.742 [debug] QUERY OK source="sources" db=0.1ms idle=125.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:46.742 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 00:48:46.743 [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 [130341] 00:48:46.743 [debug] Current batch of media processed. Will check again in 1000ms 00:48:47.744 [debug] Current batch of media processed. Will check again in 1000ms 00:48:48.745 [debug] Current batch of media processed. Will check again in 1000ms 00:48:49.746 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this video, Claire Saffitz explores the iconic beverage, Coca-Cola. She delves into the ingredients and process behind making this classic soda. Watch as she attempts to recreate the distinctive taste of coke, offering insights into its composition and how to make a version at home. This episode is a deep dive into the world of cola and food science.\n\n#clairesaffitz #cocacola #homemade \n\n00:00 Intro\n02:11 Reading the Coca Cola Ingredients\n02:21 Observations\n08:02 Game plan\n08:21 How To Make Caramel\n12:12 Tinker\n29:25 How To Make Seltzer\n30:08 Comparison\n33:48 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 2046, "filename" => "/downloads/shows/Claire Recreates/Season 2026/s2026e031600 - I Tried Making Homemade Coca Cola | Claire Recreates.mkv", "id" => "9f3ZO4N0RC8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9f3ZO4N0RC8", "playlist_index" => 19, "timestamp" => 1773669613, "title" => "I Tried Making Homemade Coca Cola | Claire Recreates", "upload_date" => "20260316"} 00:48:49.747 [debug] QUERY OK source="sources" db=0.2ms idle=1817.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:48:49.747 [debug] QUERY OK source="sources" db=0.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" = ?) [9] 00:48:49.748 [debug] QUERY OK source="media_items" db=0.2ms idle=1818.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-16 14:00:13Z], 9] 00:48:49.750 [debug] QUERY OK source="media_items" db=1.3ms idle=1129.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, Claire Saffitz explores the iconic beverage, Coca-Cola. She delves into the ingredients and process behind making this classic soda. Watch as she attempts to recreate the distinctive taste of coke, offering insights into its composition and how to make a version at home. This episode is a deep dive into the world of cola and food science.\n\n#clairesaffitz #cocacola #homemade \n\n00:00 Intro\n02:11 Reading the Coca Cola Ingredients\n02:21 Observations\n08:02 Game plan\n08:21 How To Make Caramel\n12:12 Tinker\n29:25 How To Make Seltzer\n30:08 Comparison\n33:48 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Coca Cola | Claire Recreates", "8d03345e-e289-4375-9ede-20a5170d8019", 9, [], 2046, false, "9f3ZO4N0RC8", "https://www.youtube.com/watch?v=9f3ZO4N0RC8", 19, "/downloads/shows/Claire Recreates/Season 2026/s2026e031600 - I Tried Making Homemade Coca Cola | Claire Recreates.mkv", false, false, false, 1, ~U[2026-03-16 14:00:13Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "In this video, Claire Saffitz explores the iconic beverage, Coca-Cola. She delves into the ingredients and process behind making this classic soda. Watch as she attempts to recreate the distinctive taste of coke, offering insights into its composition and how to make a version at home. This episode is a deep dive into the world of cola and food science.\n\n#clairesaffitz #cocacola #homemade \n\n00:00 Intro\n02:11 Reading the Coca Cola Ingredients\n02:21 Observations\n08:02 Game plan\n08:21 How To Make Caramel\n12:12 Tinker\n29:25 How To Make Seltzer\n30:08 Comparison\n33:48 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Coca Cola | Claire Recreates", 9, 2046, false, "9f3ZO4N0RC8", "https://www.youtube.com/watch?v=9f3ZO4N0RC8", "/downloads/shows/Claire Recreates/Season 2026/s2026e031600 - I Tried Making Homemade Coca Cola | Claire Recreates.mkv", false, ~U[2026-03-16 14:00:13Z]] 00:48:49.750 [debug] QUERY OK source="sources" db=0.2ms idle=130.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.751 [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] 00:48:49.751 [debug] QUERY OK source="media_items" db=0.3ms 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 [148752] 00:48:49.751 [debug] Current batch of media processed. Will check again in 1000ms 00:48:49.918 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/playlist?list=PLUUVA1IsKg-WqgEu55gWCHpi8Wfs_YqcZ&si=z1kjgb4xIhCbOdG_ --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Claire Recreates/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/cc/44/cc44086eabd09a04552d0c682957c1da5dea3111cf3985f4ea8906a5b11fdf62.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 00:48:49.920 [debug] Gracefully stopping file follower 00:48:49.920 [debug] QUERY OK source="sources" db=0.5ms idle=172.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 00:48:49.921 [debug] QUERY OK source="sources" db=0.4ms idle=171.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.922 [debug] QUERY OK source="media_items" db=0.4ms idle=171.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-04-30 13:00:32Z], 9] 00:48:49.924 [debug] QUERY OK source="media_items" db=1.8ms idle=171.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Drumsticks | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Nestle Drumsticks, The Original Ice Cream Cone. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #icecream #drumsticks \n\nCHAPTERS:\n00:00 Intro\n00:54 Snack breakdown\n03:29 Measurements\n04:43 Original ingredients\n05:15 Game plan\n06:15 Make and form cones\n18:13 Bake the cones\n19:53 Make the chocolate coating\n23:03 Make the ice cream\n32:05 Form the bulbs\n33:26 The next morning\n34:04 Make the magic shell\n37:29 Taste test\n41:59 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make the cones, combine 3 ounces room temp egg whites, ¼ cup granulated sugar, ¼ up demerara sugar, 3 tablespoons melted cooled butter, 2 teaspoons vanilla extract, ½ cup flour, 1 tablespoon cornstarch, ½ teaspoon kosher salt, and ¼ teaspoon baking soda and blend with a hand blender until completely smooth. Transfer the batter to a piping bag and pipe some onto the grates of a preheated electric waffle cone iron. Cook just until it’s set but pale, then transfer the piece to a cutting board and trace around a football-shaped stencil with a wheel cutter. Remove the excess, return the piece to the iron, and cook until golden brown all over. Form the cone around a mold, pressing firmly on the seam. Repeat with more batter. Dry the cones in a 200-degree oven upside down on a rack set over a baking sheet,, then let cool. Brush the insides of the cones with a thin layer of melted chocolate, depositing a half teaspoon of chocolate in the bottom of each. Place the cones on a rack in the freezer. \n\nTo make the ice cream, vigorously whisk 8 large egg yolks, 1 cup granulated sugar, 30g malted milk powder, ½ teaspoon kosher salt, and 1 tablespoon vanilla paste in the bottom of a large saucepan until pale and ribbony. Whisk in 3 cups whole milk and 1 cup heavy cream. Cook the mixture, whisking constantly over medium heat, until it registers 180-degrees. Cool the mixture rapidly in an ice bath, then transfer to an ice cream machine and spin until the ice cream holds its shape. Transfer some of the ice cream to a piping bag and fill the chocolate-coated cones, smoothing the tops, then transfer the rest of the ice cream to a chilled loaf pan and freeze solid. Scooping from the loaf pan, place a scoop of ice cream over the top of each cone, smoothing with a small offset spatula to form nice domes. Freeze the cones overnight, then melt chocolate and coconut oil together to make a magic shell. Dip the cones in the shell, shaking off excess, then gently roll in very evenly chopped and sifted roasted salted peanuts. Freeze until form, at least 20 minutes.", "I Tried Making Homemade Drumsticks | Claire Recreates", "864f6b0b-9d3f-4de1-937a-b1102a41353f", 9, [], 2534, false, "Qd0TQeVQ2Z0", "https://www.youtube.com/watch?v=Qd0TQeVQ2Z0", 1, "/downloads/shows/Claire Recreates/Season 2024/s2024e043000 - I Tried Making Homemade Drumsticks | Claire Recreates.mkv", false, false, false, 1, ~U[2024-04-30 13:00:32Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "I Tried Making Homemade Drumsticks | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Nestle Drumsticks, The Original Ice Cream Cone. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #icecream #drumsticks \n\nCHAPTERS:\n00:00 Intro\n00:54 Snack breakdown\n03:29 Measurements\n04:43 Original ingredients\n05:15 Game plan\n06:15 Make and form cones\n18:13 Bake the cones\n19:53 Make the chocolate coating\n23:03 Make the ice cream\n32:05 Form the bulbs\n33:26 The next morning\n34:04 Make the magic shell\n37:29 Taste test\n41:59 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make the cones, combine 3 ounces room temp egg whites, ¼ cup granulated sugar, ¼ up demerara sugar, 3 tablespoons melted cooled butter, 2 teaspoons vanilla extract, ½ cup flour, 1 tablespoon cornstarch, ½ teaspoon kosher salt, and ¼ teaspoon baking soda and blend with a hand blender until completely smooth. Transfer the batter to a piping bag and pipe some onto the grates of a preheated electric waffle cone iron. Cook just until it’s set but pale, then transfer the piece to a cutting board and trace around a football-shaped stencil with a wheel cutter. Remove the excess, return the piece to the iron, and cook until golden brown all over. Form the cone around a mold, pressing firmly on the seam. Repeat with more batter. Dry the cones in a 200-degree oven upside down on a rack set over a baking sheet,, then let cool. Brush the insides of the cones with a thin layer of melted chocolate, depositing a half teaspoon of chocolate in the bottom of each. Place the cones on a rack in the freezer. \n\nTo make the ice cream, vigorously whisk 8 large egg yolks, 1 cup granulated sugar, 30g malted milk powder, ½ teaspoon kosher salt, and 1 tablespoon vanilla paste in the bottom of a large saucepan until pale and ribbony. Whisk in 3 cups whole milk and 1 cup heavy cream. Cook the mixture, whisking constantly over medium heat, until it registers 180-degrees. Cool the mixture rapidly in an ice bath, then transfer to an ice cream machine and spin until the ice cream holds its shape. Transfer some of the ice cream to a piping bag and fill the chocolate-coated cones, smoothing the tops, then transfer the rest of the ice cream to a chilled loaf pan and freeze solid. Scooping from the loaf pan, place a scoop of ice cream over the top of each cone, smoothing with a small offset spatula to form nice domes. Freeze the cones overnight, then melt chocolat (truncated) 00:48:49.925 [debug] QUERY OK source="sources" db=0.3ms idle=173.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.926 [debug] QUERY OK source="media_items" db=0.3ms idle=4.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-28 13:00:19Z], 9] 00:48:49.929 [debug] QUERY OK source="media_items" db=1.9ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Zebra Cakes | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Little Debbie Zebra Cakes. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #zebracake #cake \n\nChapters:\n00:00 Intro\n00:43 Zebra Cakes\n01:20 Taste test (Original)\n06:28 Game plan\n06:41 Bake cake\n16:37 Make the filling\n22:23 Fill & stack\n25:28 Cut out hexagons\n27:56 Fondant & glaze\n38:14 Chocolate stripes\n42:15 Comparison\n45:28 Spud gets brushed!\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make zebra cakes, start by whisking ¾ cup cake flour, ¼ teaspoon baking powder, ⅛ teaspoon baking soda, and ¾ teaspoon kosher salt in a medium bowl. In a separate bowl, beat 3 egg yolks and ¼ cup sugar with a hand mixer until ribbony, then stream in ¼ cup neutral oil, ¼ cup buttermilk, and a teaspoon of vanilla extract. Pour the yolk mixture into the flour mixture and whisk until smooth. In a separate bowl, combine three egg whites, ¼ cup sugar, and a pinch of cream of tartar and beat with an electric mixer to stiff peaks. Fold the whites into the batter, then scrape onto a parchment-lined half sheet tray. Bake in a 225-degree oven until springy to the touch and golden, then let cool. Trim the edges then cut the sponge into 6-cm-wide strips and trim them horizontally so they’re about 7mm thick. Freeze the pieces. \n\nTo make the filling, combine 3 ounces egg whites, 5.5 ounces of sugar, ½ teaspoon kosher salt, and a pinch of cream of tartar in the bowl of a stand mixer set over a double boiler and stir until the sugar dissolves. Whip the egg whites until firm peaks form and the meringue is room temperature, then gradually beat in 10 ounces of room temperature butter. Scrape down the sides of the bowl and beat in 1 tablespoon of vanilla paste. Pipe a layer of buttercream onto the surfaces of the cake strips using a basketweave tip, then sandwich the cake together. Chill briefly, then cut out hexagons using a serrated knife and template. Chill the cakes. \n\nIn a large bowl, whisk together 4 cups powdered sugar, ¼ cup hot water, ¼ cup light corn syrup, and 1 teaspoon vanilla extract until smooth. Whisk in 142g melted white chocolate, then thin with more hot water to the desired consistency. Place over a saucepan of hot water to keep warm. Spread a thin layer over the tops of the cakes, let set at room temperature, then place the cakes one at a time glaze-size down on a large fork and spoon the glaze over the cakes until fully enrobed. Place on a wire rack and let set. Pipe thin lines of melted chocolate over the surfaces of the cakes in a wavy pattern and let set.", "I Tried Making Homemade Zebra Cakes | Claire Recreates", "4e09a5fd-6d0e-4812-8faf-479299dfa32f", 9, [], 2744, false, "OtgomG_a0jg", "https://www.youtube.com/watch?v=OtgomG_a0jg", 2, "/downloads/shows/Claire Recreates/Season 2024/s2024e052800 - I Tried Making Homemade Zebra Cakes | Claire Recreates.mkv", false, false, false, 1, ~U[2024-05-28 13:00:19Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "I Tried Making Homemade Zebra Cakes | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Little Debbie Zebra Cakes. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #zebracake #cake \n\nChapters:\n00:00 Intro\n00:43 Zebra Cakes\n01:20 Taste test (Original)\n06:28 Game plan\n06:41 Bake cake\n16:37 Make the filling\n22:23 Fill & stack\n25:28 Cut out hexagons\n27:56 Fondant & glaze\n38:14 Chocolate stripes\n42:15 Comparison\n45:28 Spud gets brushed!\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make zebra cakes, start by whisking ¾ cup cake flour, ¼ teaspoon baking powder, ⅛ teaspoon baking soda, and ¾ teaspoon kosher salt in a medium bowl. In a separate bowl, beat 3 egg yolks and ¼ cup sugar with a hand mixer until ribbony, then stream in ¼ cup neutral oil, ¼ cup buttermilk, and a teaspoon of vanilla extract. Pour the yolk mixture into the flour mixture and whisk until smooth. In a separate bowl, combine three egg whites, ¼ cup sugar, and a pinch of cream of tartar and beat with an electric mixer to stiff peaks. Fold the whites into the batter, then scrape onto a parchment-lined half sheet tray. Bake in a 225-degree oven until springy to the touch and golden, then let cool. Trim the edges then cut the sponge into 6-cm-wide strips and trim them horizontally so they’re about 7mm thick. Freeze the pieces. \n\nTo make the filling, combine 3 ounces egg whites, 5.5 ounces of sugar, ½ teaspoon kosher salt, and a pinch of cream of tartar in the bowl of a stand mixer set over a double boiler and stir until the sugar dissolves. Whip the egg whites until firm peaks form and the meringue is room temperature, then gradually beat in 10 ounces of room temperature butter. Scrape down the sides of the bowl and beat in 1 tablespoon of vanilla paste. Pipe a layer of buttercream onto the surfaces of the cake strips using a basketweave tip, then sandwich the cake together. Chill briefly, then cut out hexagons using a serrated knife and template. Chill the cakes. \n\nIn a large bowl, whisk together 4 cups powdered sugar, ¼ cup hot water, ¼ cup light corn syrup, and 1 teaspoon vanilla extract until smooth. Whisk in 142g melted white chocolate, then thin with more hot water to the desired consistency. Place over a saucepan of hot water to keep warm. Spread a thin layer over the tops of the cakes, let set at room temperature, then place the cakes one at a time glaze-size down on a large fork and spoon the glaze over the cakes until fully en (truncated) 00:48:49.929 [debug] QUERY OK source="sources" db=0.2ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.930 [debug] QUERY OK source="media_items" db=0.2ms idle=5.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-21 13:00:11Z], 9] 00:48:49.932 [debug] QUERY OK source="media_items" db=1.5ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Cosmic Brownies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tackles beloved childhood snacks and popular meals with a unique twist. In today's episode, she focuses on Little Debbie Cosmic Brownies. Join Claire as she reimagines these classics, offering delicious recipes perfect for home cooking enthusiasts. If you're nostalgic for your favorite foods and intrigued by the art of recipe development, this series is for you! Don't miss Claire's creative take on these timeless dishes.\n\n#cosmicbrownies #clairesaffitz #brownie \n\nChapters:\n00:00 Intro\n01:14 Basic components\n01:53 Taste test\n04:19 Measurements\n08:36 Game plan\n10:34 Temper the chocolate\n16:12 Make the candy coating\n23:29 Make the brownies\n29:12 Make the royal icing\n31:28 Make the glaze\n37:19 Assemble\n39:17 Conclusion\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nBROWNIES\n6.6 ounces bittersweet chocolate\n1 stick unsalted butter\n5.55 ounces confectioners’ sugar\n2 large egg yolks\n1 teaspoon kosher salt\n2 teaspoon vanilla extract or paste\n6 ounces all-purpose flour\n\nFUDGE FROSTING\n4 tablespoons unsalted butter\n1½ cups (300g) sugar\n2 tablespoons unsweetened cocoa powder\n¾ cup whole milk\nGenerous pinch of kosher salt\n1 teaspoon vanilla extract\n1½ ounces unsweetened chocolate\n\nBROWNIES: Preheat the oven to 350°F. Lightly butter the bottom and sides of a ¼ sheet pan. Line the bottom and two longer sides with a piece of parchment paper, smoothing to eliminate air bubbles. Melt chocolate and butter in a large bowl set over a double boiler, stirring often with a flexible heat-proof spatula. Remove from the heat and add the sugar, yolks, salt, and vanilla and whisk vigorously. Add the flour and fold thoroughly with the spatula until you have a homogenous dough. Spread into the prepared pan with an offset spatula in a smooth, even layer. Bake in a water bath until the brownies are set, 18 to 22 minutes. Remove from the oven and let cool completely.", "I Tried Making Homemade Cosmic Brownies | Claire Recreates", "1e761aaf-6fc8-4351-9708-a7399d931dc4", 9, [], 2675, false, "BpA0hvBfnO0", "https://www.youtube.com/watch?v=BpA0hvBfnO0", 3, "/downloads/shows/Claire Recreates/Season 2024/s2024e062100 - I Tried Making Homemade Cosmic Brownies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-06-21 13:00:11Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "I Tried Making Homemade Cosmic Brownies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tackles beloved childhood snacks and popular meals with a unique twist. In today's episode, she focuses on Little Debbie Cosmic Brownies. Join Claire as she reimagines these classics, offering delicious recipes perfect for home cooking enthusiasts. If you're nostalgic for your favorite foods and intrigued by the art of recipe development, this series is for you! Don't miss Claire's creative take on these timeless dishes.\n\n#cosmicbrownies #clairesaffitz #brownie \n\nChapters:\n00:00 Intro\n01:14 Basic components\n01:53 Taste test\n04:19 Measurements\n08:36 Game plan\n10:34 Temper the chocolate\n16:12 Make the candy coating\n23:29 Make the brownies\n29:12 Make the royal icing\n31:28 Make the glaze\n37:19 Assemble\n39:17 Conclusion\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nBROWNIES\n6.6 ounces bittersweet chocolate\n1 stick unsalted butter\n5.55 ounces confectioners’ sugar\n2 large egg yolks\n1 teaspoon kosher salt\n2 teaspoon vanilla extract or paste\n6 ounces all-purpose flour\n\nFUDGE FROSTING\n4 tablespoons unsalted butter\n1½ cups (300g) sugar\n2 tablespoons unsweetened cocoa powder\n¾ cup whole milk\nGenerous pinch of kosher salt\n1 teaspoon vanilla extract\n1½ ounces unsweetened chocolate\n\nBROWNIES: Preheat the oven to 350°F. Lightly butter the bottom and sides of a ¼ sheet pan. Line the bottom and two longer sides with a piece of parchment paper, smoothing to eliminate air bubbles. Melt chocolate and butter in a large bowl set over a double boiler, stirring often with a flexible heat-proof spatula. Remove from the heat and add the sugar, yolks, salt, and vanilla and whisk vigorously. Add the flour and fold thoroughly with the spatula until you have a homogenous dough. Spread into the prepared pan with an offset spatula in a smooth, even layer. Bake in a water bath until the brownies are set, 18 to 22 minutes. Remove from the oven and let cool completely.", "I Tried Making Homemade Cosmic Brownies | Claire Recreates", 9, 2675, false, "BpA0hvBfnO0", "https://www.youtube.com/watch?v=BpA0hvBfnO0", "/downloads/shows/Claire Recreates/Season 2024/s2024e062100 - I Tried Making Homemade Cosmic Brownies | Claire Recreates.mkv", false, ~U[2024-06-21 13:00:11Z]] 00:48:49.933 [debug] QUERY OK source="sources" db=0.4ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.933 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-08 17:15:03Z], 9] 00:48:49.935 [debug] QUERY OK source="media_items" db=1.5ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz takes on nostalgic childhood snacks and popular meals, adding her own creative twist. In today's episode, she focuses on Strawberry Shortcake Bars, pairing them with homemade ice cream. Join Claire as she reimagines these classics, sharing delicious recipes perfect for home cooking enthusiasts. If you have a soft spot for your favorite foods and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive approach to these timeless treats.\n\n#strawberryshortcake #clairesaffitz #icecream \n\nChapters:\n00:00 Intro\n00:28 Strawberry shortcake bars\n01:12 Taste test\n02:53 Reading the ingredients\n04:01 Measurements\n07:03 Game plan\n09:16 Make the ice cream base\n12:47 Make strawberry ice cream base\n15:38 Make the strawberry cores\n24:07 Make cake crumbs\n28:34 Fill molds\n45:10 Assemble\n46:05 Comparison\n49:32 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nStrawberry Shortcake Bars\nMakes 8\n\nVANILLA ICE CREAM\n8 large egg yolks\n¾ cup granulated sugar\n½ teaspoon kosher salt\n1 tablespoon vanilla paste\n3 cups whole milk\n1 cup heavy cream\n\n1 pound strawberries chopped, mixed with 2 tbsp sugar, roasted at 275 for 1 hour, stir a few times, blend in to half of vanilla base and flavor with 1 Tbsp hibiscus powder and 20g freeze dried strawberries, strain, process\n\nSUGAR COOKIE CRUMBS\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour\n\nSTRAWBERRY VERSION\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour", "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates", "10f24d8e-fdce-463f-b340-4f7b4aec278a", 9, [], 2988, false, "dPBXgwJD35E", "https://www.youtube.com/watch?v=dPBXgwJD35E", 4, "/downloads/shows/Claire Recreates/Season 2024/s2024e080800 - I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates.mkv", false, false, false, 1, ~U[2024-08-08 17:15:03Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz takes on nostalgic childhood snacks and popular meals, adding her own creative twist. In today's episode, she focuses on Strawberry Shortcake Bars, pairing them with homemade ice cream. Join Claire as she reimagines these classics, sharing delicious recipes perfect for home cooking enthusiasts. If you have a soft spot for your favorite foods and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive approach to these timeless treats.\n\n#strawberryshortcake #clairesaffitz #icecream \n\nChapters:\n00:00 Intro\n00:28 Strawberry shortcake bars\n01:12 Taste test\n02:53 Reading the ingredients\n04:01 Measurements\n07:03 Game plan\n09:16 Make the ice cream base\n12:47 Make strawberry ice cream base\n15:38 Make the strawberry cores\n24:07 Make cake crumbs\n28:34 Fill molds\n45:10 Assemble\n46:05 Comparison\n49:32 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nStrawberry Shortcake Bars\nMakes 8\n\nVANILLA ICE CREAM\n8 large egg yolks\n¾ cup granulated sugar\n½ teaspoon kosher salt\n1 tablespoon vanilla paste\n3 cups whole milk\n1 cup heavy cream\n\n1 pound strawberries chopped, mixed with 2 tbsp sugar, roasted at 275 for 1 hour, stir a few times, blend in to half of vanilla base and flavor with 1 Tbsp hibiscus powder and 20g freeze dried strawberries, strain, process\n\nSUGAR COOKIE CRUMBS\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour\n\nSTRAWBERRY VERSION\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour", "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates", 9, 2988, false, "dPBXgwJD35E", "https://www.youtube.com/watch?v=dPBXgwJD35E", "/downloads/shows/Claire Recreates/Season 2024/s2024e080800 - I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates.mkv", false, ~U[2024-08-08 17:15:03Z]] 00:48:49.936 [debug] QUERY OK source="sources" db=0.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" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.936 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-25 13:00:05Z], 9] 00:48:49.938 [debug] QUERY OK source="media_items" db=1.4ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Uncrustables | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she tackles the beloved Smucker’s Uncrustables, giving them a creative, from-scratch makeover. Claire takes no shortcuts, making her own homemade white bread, peanut butter, and jelly, transforming this nostalgic lunchbox staple into something truly special. If you’re a fan of classic snacks and curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive twist on this timeless favorite.\n\n#clairesaffitz #homemade #uncrustables \n\nChapters:\n00:00 Intro\n00:54 How does Claire Saffitz make a PBJ?\n01:50 Taste test\n02:19 Basic Components\n02:48 Reading the Ingredients\n03:50 Game Plan\n04:32 Soft White Bread\n06:31 Cal calls Uncrustables\n06:59 Peanut butter\n13:44 Grape Jelly\n18:10 Assembly\n26:47 Comparison\n28:58 Cat Cam\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nSOFT WHITE BREAD\nMakes 1 loaf\n\nTANGZHONG\n½ cup whole milk\n½ cup water\n50g (6 tablespoons) bread flour\n\nDOUGH\n3 cups (390g) bread flour, plus more, if needed, for work surface\n¼ cup water\n¼ cup milk \n2 tablespoons granulated sugar\n4 tablespoons neutral oil\n9g kosher salt (2½ teaspoons Diamond Crystal kosher salt)\n2 teaspoons instant yeast\n\nGrape Jelly\n2 lbs green apples\n1 quart 100% Concord grape juice\n1 cup sugar\n2 tablespoons lemon juice\n\nPeanut Butter\n3 cups roasted salted peanuts, toasted until golden brown\nGenerous pinch of salt\n2 teaspoons of honey", "I Tried Making Homemade Uncrustables | Claire Recreates", "204f163e-bd42-4663-9dba-555e7ce5b555", 9, [], 1750, false, "3eIbzifSZYY", "https://www.youtube.com/watch?v=3eIbzifSZYY", 5, "/downloads/shows/Claire Recreates/Season 2024/s2024e092500 - I Tried Making Homemade Uncrustables | Claire Recreates.mkv", false, false, false, 1, ~U[2024-09-25 13:00:05Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "I Tried Making Homemade Uncrustables | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she tackles the beloved Smucker’s Uncrustables, giving them a creative, from-scratch makeover. Claire takes no shortcuts, making her own homemade white bread, peanut butter, and jelly, transforming this nostalgic lunchbox staple into something truly special. If you’re a fan of classic snacks and curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive twist on this timeless favorite.\n\n#clairesaffitz #homemade #uncrustables \n\nChapters:\n00:00 Intro\n00:54 How does Claire Saffitz make a PBJ?\n01:50 Taste test\n02:19 Basic Components\n02:48 Reading the Ingredients\n03:50 Game Plan\n04:32 Soft White Bread\n06:31 Cal calls Uncrustables\n06:59 Peanut butter\n13:44 Grape Jelly\n18:10 Assembly\n26:47 Comparison\n28:58 Cat Cam\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nSOFT WHITE BREAD\nMakes 1 loaf\n\nTANGZHONG\n½ cup whole milk\n½ cup water\n50g (6 tablespoons) bread flour\n\nDOUGH\n3 cups (390g) bread flour, plus more, if needed, for work surface\n¼ cup water\n¼ cup milk \n2 tablespoons granulated sugar\n4 tablespoons neutral oil\n9g kosher salt (2½ teaspoons Diamond Crystal kosher salt)\n2 teaspoons instant yeast\n\nGrape Jelly\n2 lbs green apples\n1 quart 100% Concord grape juice\n1 cup sugar\n2 tablespoons lemon juice\n\nPeanut Butter\n3 cups roasted salted peanuts, toasted until golden brown\nGenerous pinch of salt\n2 teaspoons of honey", "I Tried Making Homemade Uncrustables | Claire Recreates", 9, 1750, false, "3eIbzifSZYY", "https://www.youtube.com/watch?v=3eIbzifSZYY", "/downloads/shows/Claire Recreates/Season 2024/s2024e092500 - I Tried Making Homemade Uncrustables | Claire Recreates.mkv", false, ~U[2024-09-25 13:00:05Z]] 00:48:49.939 [debug] QUERY OK source="sources" db=0.1ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.939 [debug] QUERY OK source="media_items" db=0.3ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-24 17:00:23Z], 9] 00:48:49.941 [debug] QUERY OK source="media_items" db=1.2ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she steps out to explore restaurant staples, starting with the iconic McDonald’s Apple Pie. Claire meticulously dissects the fast-food favorite, recreating it from scratch with her own version of a hand pie. From crafting a flaky, golden dough to making a perfectly spiced apple filling, Claire transforms this nostalgic dessert into a homemade masterpiece. If you love classic treats and are curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless favorite.\n\n#clairesaffitz #mcdonalds #applepie \n\nChapters:\n00:00 Intro\n00:30 McDonald’s Drive-Thru\n02:14 Back to the kitchen\n02:51 Measurements\n04:36 How To Make Baked Apple Pie\n04:49 Reading the Ingredients\n05:23 Doing some research\n05:49 How To Make Pastry\n09:47 How To Make Apple Filling\n21:09 Testing the lattice\n24:39 Assembly\n28:43 Baking\n30:26 McDonald’s vs Claire Saffitz\n32:18 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates", "4b1c40b2-5f77-4384-8985-b08f986a91d8", 9, [], 1957, false, "JPcLcSbYL94", "https://www.youtube.com/watch?v=JPcLcSbYL94", 6, "/downloads/shows/Claire Recreates/Season 2024/s2024e102400 - I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates.mkv", false, false, false, 1, ~U[2024-10-24 17:00:23Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she steps out to explore restaurant staples, starting with the iconic McDonald’s Apple Pie. Claire meticulously dissects the fast-food favorite, recreating it from scratch with her own version of a hand pie. From crafting a flaky, golden dough to making a perfectly spiced apple filling, Claire transforms this nostalgic dessert into a homemade masterpiece. If you love classic treats and are curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless favorite.\n\n#clairesaffitz #mcdonalds #applepie \n\nChapters:\n00:00 Intro\n00:30 McDonald’s Drive-Thru\n02:14 Back to the kitchen\n02:51 Measurements\n04:36 How To Make Baked Apple Pie\n04:49 Reading the Ingredients\n05:23 Doing some research\n05:49 How To Make Pastry\n09:47 How To Make Apple Filling\n21:09 Testing the lattice\n24:39 Assembly\n28:43 Baking\n30:26 McDonald’s vs Claire Saffitz\n32:18 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates", 9, 1957, false, "JPcLcSbYL94", "https://www.youtube.com/watch?v=JPcLcSbYL94", "/downloads/shows/Claire Recreates/Season 2024/s2024e102400 - I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates.mkv", false, ~U[2024-10-24 17:00:23Z]] 00:48:49.942 [debug] QUERY OK source="sources" db=0.3ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.942 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-28 14:45:02Z], 9] 00:48:49.948 [debug] QUERY OK source="media_items" db=5.2ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Mallomars | Claire Recreates\nOn this special episode of Claire Recreates, Claire Saffitz tackles the beloved Mallomars, a treat adored in the Northeast but deserving of nationwide love. From crafting the perfect graham cracker base to whipping up a fluffy marshmallow and dipping it all in luscious chocolate, Claire brings this classic to life in a way only she can. If you love reimagined classics and want to celebrate the joy of homemade desserts, this episode is a must-watch. Don’t miss Claire’s creative take on this iconic treat—perfect for the holiday season! Happy Thanksgiving! We’re incredibly thankful for everyone who has joined us on this channel.\n\n#clairesaffitz #mallomars #smores #chocolate \n\nChapters:\n00:00 Intro\n00:25 Mallomars\n02:06 Measurements\n02:42 Ingredients\n03:30 Game plan\n03:58 Cookie base\n15:59 Marshmallow topper\n23:37 Assemble cookies\n24:59 Temper chocolate & enrobe\n29:27 Snap test\n30:03 Comparison\n31:53 Harris review\n32:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Mallomars | Claire Recreates", "8be86118-edbb-4476-aa1c-810981168870", 9, [], 1971, false, "Qh9zncazwM8", "https://www.youtube.com/watch?v=Qh9zncazwM8", 7, "/downloads/shows/Claire Recreates/Season 2024/s2024e112800 - I Tried Making Homemade Mallomars | Claire Recreates.mkv", false, false, false, 1, ~U[2024-11-28 14:45:02Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "I Tried Making Homemade Mallomars | Claire Recreates\nOn this special episode of Claire Recreates, Claire Saffitz tackles the beloved Mallomars, a treat adored in the Northeast but deserving of nationwide love. From crafting the perfect graham cracker base to whipping up a fluffy marshmallow and dipping it all in luscious chocolate, Claire brings this classic to life in a way only she can. If you love reimagined classics and want to celebrate the joy of homemade desserts, this episode is a must-watch. Don’t miss Claire’s creative take on this iconic treat—perfect for the holiday season! Happy Thanksgiving! We’re incredibly thankful for everyone who has joined us on this channel.\n\n#clairesaffitz #mallomars #smores #chocolate \n\nChapters:\n00:00 Intro\n00:25 Mallomars\n02:06 Measurements\n02:42 Ingredients\n03:30 Game plan\n03:58 Cookie base\n15:59 Marshmallow topper\n23:37 Assemble cookies\n24:59 Temper chocolate & enrobe\n29:27 Snap test\n30:03 Comparison\n31:53 Harris review\n32:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Mallomars | Claire Recreates", 9, 1971, false, "Qh9zncazwM8", "https://www.youtube.com/watch?v=Qh9zncazwM8", "/downloads/shows/Claire Recreates/Season 2024/s2024e112800 - I Tried Making Homemade Mallomars | Claire Recreates.mkv", false, ~U[2024-11-28 14:45:02Z]] 00:48:49.949 [debug] QUERY OK source="sources" db=0.1ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.949 [debug] QUERY OK source="media_items" db=0.2ms idle=7.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-31 15:00:27Z], 9] 00:48:49.951 [debug] QUERY OK source="media_items" db=1.3ms idle=7.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Milano Cookies | Claire Recreates\nIn this special holiday episode of Claire Recreates, Claire Saffitz takes on the beloved Pepperidge Farm Milano Cookies, a holiday favorite that deserves a homemade makeover. Claire is determined to recreate the classic cookie, from baking the perfect buttery, delicate biscuit to making a smooth, decadent chocolate filling. With her signature flair, Claire transforms this iconic treat into a homemade version that’s even more irresistible than the original. If you love reimagined classics and want to impress your guests with a holiday dessert that’s both nostalgic and elevated, this episode is a must-watch. Don’t miss Claire’s delicious twist on the Milano Cookie—perfect for celebrating the season! As we close out 2024, we’re incredibly thankful for everyone who’s supported this channel. Happy Holidays!\n\n#clairesaffitz #cookies #dessert \n\nChapters:\n00:00 Intro\n00:26 Milano cookies\n02:08 Taste test\n02:46 Measurements\n03:54 Reading the ingredients\n04:54 Game plan\n05:22 Harris' Milano Tip\n06:12 Make & bake cookies\n07:47 Making the batter\n09:47 Piping the cookies\n13:36 Making cookie improvements\n29:33 Make mint layer\n31:55 Temper chocolate\n33:29 Assembly\n35:06 Comparison \n36:24 Harris’ review\n36:56 Conclusion\n37:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Milano Cookies | Claire Recreates", "2b540911-c382-4103-9fe6-ebdc7f11015a", 9, [], 2271, false, "L_Xu-Tt7fHA", "https://www.youtube.com/watch?v=L_Xu-Tt7fHA", 8, "/downloads/shows/Claire Recreates/Season 2024/s2024e123100 - I Tried Making Homemade Milano Cookies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-12-31 15:00:27Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "I Tried Making Homemade Milano Cookies | Claire Recreates\nIn this special holiday episode of Claire Recreates, Claire Saffitz takes on the beloved Pepperidge Farm Milano Cookies, a holiday favorite that deserves a homemade makeover. Claire is determined to recreate the classic cookie, from baking the perfect buttery, delicate biscuit to making a smooth, decadent chocolate filling. With her signature flair, Claire transforms this iconic treat into a homemade version that’s even more irresistible than the original. If you love reimagined classics and want to impress your guests with a holiday dessert that’s both nostalgic and elevated, this episode is a must-watch. Don’t miss Claire’s delicious twist on the Milano Cookie—perfect for celebrating the season! As we close out 2024, we’re incredibly thankful for everyone who’s supported this channel. Happy Holidays!\n\n#clairesaffitz #cookies #dessert \n\nChapters:\n00:00 Intro\n00:26 Milano cookies\n02:08 Taste test\n02:46 Measurements\n03:54 Reading the ingredients\n04:54 Game plan\n05:22 Harris' Milano Tip\n06:12 Make & bake cookies\n07:47 Making the batter\n09:47 Piping the cookies\n13:36 Making cookie improvements\n29:33 Make mint layer\n31:55 Temper chocolate\n33:29 Assembly\n35:06 Comparison \n36:24 Harris’ review\n36:56 Conclusion\n37:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Milano Cookies | Claire Recreates", 9, 2271, false, "L_Xu-Tt7fHA", "https://www.youtube.com/watch?v=L_Xu-Tt7fHA", "/downloads/shows/Claire Recreates/Season 2024/s2024e123100 - I Tried Making Homemade Milano Cookies | Claire Recreates.mkv", false, ~U[2024-12-31 15:00:27Z]] 00:48:49.952 [debug] QUERY OK source="sources" db=0.3ms idle=9.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.952 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-30 14:00:49Z], 9] 00:48:49.955 [debug] QUERY OK source="media_items" db=1.5ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz dives into beloved childhood snacks and iconic treats, adding her own creative flair. In today’s episode, she focuses on the classic Little Debbie Oatmeal Creme Pies, transforming them with a homemade twist. Join Claire as she reimagines this nostalgic favorite, sharing mouthwatering recipes perfect for home baking enthusiasts. If you have a fondness for your favorite snacks and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless treat.\n\n#clairesaffitz #oatmeal #pie \n\nChapters:\n\n00:00 Intro\n01:10 Measurements\n01:29 Smell and taste test\n02:22 Ingredients\n03:42 Game plan\n03:49 Make cookie dough + bake\n13:21 Make adjustments to cookies\n22:11 Marshmallow cream\n25:29 Assemble\n26:19 Comparison\n27:55 Harris review\n28:32 Conclusion\n29:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nCOOKIES\n1¼ cups old-fashioned rolled oats, divided\n¼ cup raisins\n½ cup whole milk\n¼ cup water \n (¼ cup oats + raisins cooked in milk/water, remaining 1 cup oats processed w/ dry ingredients)\n1½ cups all-purpose flour\n2 teaspoons baking soda\n1 teaspoon kosher salt\n¾ teaspoon cinnamon\nPinch of ground cloves\n8 tablespoons (1 stick) unsalted butter, at room temperature\n¼ cup vegetable oil\n1 cup light brown sugar (packed)\n⅓ cup molasses\n1 large egg\n2 teaspoons pure vanilla extract\n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon King Arthur Pure Vanilla Extract", "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates", "3b2d05eb-7822-451f-a868-76b0a91d43a2", 9, [], 1755, false, "qX5AKIh2x_4", "https://www.youtube.com/watch?v=qX5AKIh2x_4", 9, "/downloads/shows/Claire Recreates/Season 2024/s2024e083000 - I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-08-30 14:00:49Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz dives into beloved childhood snacks and iconic treats, adding her own creative flair. In today’s episode, she focuses on the classic Little Debbie Oatmeal Creme Pies, transforming them with a homemade twist. Join Claire as she reimagines this nostalgic favorite, sharing mouthwatering recipes perfect for home baking enthusiasts. If you have a fondness for your favorite snacks and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless treat.\n\n#clairesaffitz #oatmeal #pie \n\nChapters:\n\n00:00 Intro\n01:10 Measurements\n01:29 Smell and taste test\n02:22 Ingredients\n03:42 Game plan\n03:49 Make cookie dough + bake\n13:21 Make adjustments to cookies\n22:11 Marshmallow cream\n25:29 Assemble\n26:19 Comparison\n27:55 Harris review\n28:32 Conclusion\n29:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nCOOKIES\n1¼ cups old-fashioned rolled oats, divided\n¼ cup raisins\n½ cup whole milk\n¼ cup water \n (¼ cup oats + raisins cooked in milk/water, remaining 1 cup oats processed w/ dry ingredients)\n1½ cups all-purpose flour\n2 teaspoons baking soda\n1 teaspoon kosher salt\n¾ teaspoon cinnamon\nPinch of ground cloves\n8 tablespoons (1 stick) unsalted butter, at room temperature\n¼ cup vegetable oil\n1 cup light brown sugar (packed)\n⅓ cup molasses\n1 large egg\n2 teaspoons pure vanilla extract\n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon King Arthur Pure Vanilla Extract", "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates", 9, 1755, false, "qX5AKIh2x_4", "https://www.youtube.com/watch?v=qX5AKIh2x_4", "/downloads/shows/Claire Recreates/Season 2024/s2024e083000 - I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates.mkv", false, ~U[2024-08-30 14:00:49Z]] 00:48:49.955 [debug] QUERY OK source="sources" db=0.2ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.956 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-20 14:00:30Z], 9] 00:48:49.958 [debug] QUERY OK source="media_items" db=1.3ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on the challenge of recreating beloved childhood snacks and iconic treats—but this time, she’s in new territory. In today’s episode, Claire tackles the Kinder Bueno, attempting to craft the crispy, creamy chocolate bar from scratch—all from a rental kitchen. With limited tools and unfamiliar surroundings, she puts her skills to the test, proving that great recipes can come together anywhere. If you love nostalgic sweets and the thrill of recipe experimentation, this episode is a must-watch!\n\n#kinderbueno #clairesaffitz #chocolate \n\nChapters\n00:00 Intro\n00:26 How To Make Kinder Bueno\n02:46 Measurements\n02:59 Taste test\n04:53 Ingredients\n06:14 Molds\n11:07 How To Make Kinder Bueno Wafers\n18:10 100% polycarbonate\n20:04 Plan B?\n21:37 Lessons learned\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates", "31492aa9-4565-4323-a0b2-219b24308e20", 9, [], 1385, false, "ipwx-AzyDNk", "https://www.youtube.com/watch?v=ipwx-AzyDNk", 10, "/downloads/shows/Claire Recreates/Season 2025/s2025e032000 - I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates.mkv", false, false, false, 1, ~U[2025-03-20 14:00:30Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on the challenge of recreating beloved childhood snacks and iconic treats—but this time, she’s in new territory. In today’s episode, Claire tackles the Kinder Bueno, attempting to craft the crispy, creamy chocolate bar from scratch—all from a rental kitchen. With limited tools and unfamiliar surroundings, she puts her skills to the test, proving that great recipes can come together anywhere. If you love nostalgic sweets and the thrill of recipe experimentation, this episode is a must-watch!\n\n#kinderbueno #clairesaffitz #chocolate \n\nChapters\n00:00 Intro\n00:26 How To Make Kinder Bueno\n02:46 Measurements\n02:59 Taste test\n04:53 Ingredients\n06:14 Molds\n11:07 How To Make Kinder Bueno Wafers\n18:10 100% polycarbonate\n20:04 Plan B?\n21:37 Lessons learned\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates", 9, 1385, false, "ipwx-AzyDNk", "https://www.youtube.com/watch?v=ipwx-AzyDNk", "/downloads/shows/Claire Recreates/Season 2025/s2025e032000 - I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates.mkv", false, ~U[2025-03-20 14:00:30Z]] 00:48:49.958 [debug] QUERY OK source="sources" db=0.1ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.959 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-01 14:00:48Z], 9] 00:48:49.961 [debug] QUERY OK source="media_items" db=1.5ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Australian Tim Tams | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on one of the most iconic Australian snacks of all time — Tim Tams. Known for their rich chocolate coating, creamy filling, and signature crunchy biscuit texture, Tim Tams are a beloved treat across Australia and beyond. Claire attempts to recreate Tim Tams from scratch, using her precise baking techniques and deep understanding of pastry science to reverse-engineer this layered chocolate biscuit sandwich at home.\n\nWatch as Claire tests different chocolate biscuit recipes, explores the mechanics of the perfect Tim Tam Slam, and tackles the challenge of replicating a store-bought snack with homemade methods. This episode blends Claire’s signature charm with technical baking as she breaks down how to make homemade Tim Tams, one of the most recognizable Australian treats.\n\nIf you’re a fan of nostalgic snack recipes, iconic cookie recreations, or just love watching detailed step-by-step baking challenges, this episode is for you.\n\n#ClaireSaffitz #ClaireRecreates #TimTams #ChocolateBiscuits #BakingChallenge #dessertperson \n\nChapters\n\n00:00 Intro\n00:18 Tim Tams\n01:53 Taste test\n03:56 Measurements\n04:59 Reading the Ingredients\n06:25 Game plan\n06:42 Make cookies / biscuits\n14:14 Use pasta roller\n17:31 Make filling\n19:13 Assemble\n22:02 Enrobe\n23:13 Comparison\n25:38 Cat cam\n\nChocolate biscuit\n1½ cups all-purpose flour\n½ cup unsweetened cocoa powder\n2 tablespoon malted milk powder \n¾ teaspoon kosher salt\n½ teaspoon baking powder \n1 stick unsalted butter, at cool room temperature \n¾ cup sugar\n1 large egg\n2 teaspoons pure vanilla extract\n\nChocolate cream filling: \n150g milk chocolate, chopped\n150g heavy cream\nSalt\n\nChocolate coating \nDark chocolate\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Australian Tim Tams | Claire Recreates", "abf0d1ea-5830-417d-820e-aa109d722a77", 9, [], 1555, false, "X5-yAJszoB0", "https://www.youtube.com/watch?v=X5-yAJszoB0", 11, "/downloads/shows/Claire Recreates/Season 2025/s2025e050100 - I Tried Making Homemade Australian Tim Tams | Claire Recreates.mkv", false, false, false, 1, ~U[2025-05-01 14:00:48Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "I Tried Making Homemade Australian Tim Tams | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on one of the most iconic Australian snacks of all time — Tim Tams. Known for their rich chocolate coating, creamy filling, and signature crunchy biscuit texture, Tim Tams are a beloved treat across Australia and beyond. Claire attempts to recreate Tim Tams from scratch, using her precise baking techniques and deep understanding of pastry science to reverse-engineer this layered chocolate biscuit sandwich at home.\n\nWatch as Claire tests different chocolate biscuit recipes, explores the mechanics of the perfect Tim Tam Slam, and tackles the challenge of replicating a store-bought snack with homemade methods. This episode blends Claire’s signature charm with technical baking as she breaks down how to make homemade Tim Tams, one of the most recognizable Australian treats.\n\nIf you’re a fan of nostalgic snack recipes, iconic cookie recreations, or just love watching detailed step-by-step baking challenges, this episode is for you.\n\n#ClaireSaffitz #ClaireRecreates #TimTams #ChocolateBiscuits #BakingChallenge #dessertperson \n\nChapters\n\n00:00 Intro\n00:18 Tim Tams\n01:53 Taste test\n03:56 Measurements\n04:59 Reading the Ingredients\n06:25 Game plan\n06:42 Make cookies / biscuits\n14:14 Use pasta roller\n17:31 Make filling\n19:13 Assemble\n22:02 Enrobe\n23:13 Comparison\n25:38 Cat cam\n\nChocolate biscuit\n1½ cups all-purpose flour\n½ cup unsweetened cocoa powder\n2 tablespoon malted milk powder \n¾ teaspoon kosher salt\n½ teaspoon baking powder \n1 stick unsalted butter, at cool room temperature \n¾ cup sugar\n1 large egg\n2 teaspoons pure vanilla extract\n\nChocolate cream filling: \n150g milk chocolate, chopped\n150g heavy cream\nSalt\n\nChocolate coating \nDark chocolate\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Australian Tim Tams | Claire Recreates", 9, 1555, false, "X5-yAJszoB0", "https://www.youtube.com/watch?v=X5-yAJszoB0", "/downloads/shows/Claire Recreates/Season 2025/s2025e050100 - I Tried Making Homemade Australian Tim Tams | Claire Recreates.mkv", false, ~U[2025-05-01 14:00:48Z]] 00:48:49.961 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.962 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-18 14:00:44Z], 9] 00:48:49.964 [debug] QUERY OK source="media_items" db=1.4ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Tokyo Bananas | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on Japan’s most beloved souvenir treat ... the Tokyo Banana. These soft sponge cakes filled with sweet banana custard are a staple of Japanese train stations, gift shops, and childhood memories. Claire breaks it down step-by-step, making everything from scratch, from the light-as-air sponge cake to the rich banana cream filling.\n\nWhether you’re a Tokyo Banana superfan or discovering this iconic snack for the first time, follow along as Claire gives this classic the Dessert Person™ treatment.\n\n#TokyoBanana #ClaireSaffitz #ClaireRecreates #JapaneseSnacks #BananaCustard #SpongeCakeRecipe #JapaneseBaking #DessertPerson \n\nTOKYO BANANA (Recreates)\n\nSPONGE CAKE\n4 egg yolks, at room temperature\n20g sugar\n40 ml milk \n40g oil\n½ teaspoon vanilla extract\n30g all-purpose flour\n30g cornstarch\n4 egg whites, at room temperature\nPinch of salt \n¼ teaspoon cream of tartar \n60g sugar \n\nBANANA CREAM\n⅓ cup sugar \n3 tablespoons cornstarch\n½ teaspoon Diamond Crystal kosher salt \n4 large egg yolks\n1⅔ cups heavy cream, chilled\n1 cup mashed overripe banana (8.5 oz / 240g), from about 2 medium\n\nChapters\n00:00 Intro\n00:19 Tokyo Banana\n01:05 Smell test\n02:08 Taste test\n02:29 Measurements\n03:56 Reading the ingredients\n05:12 How to make Tokyo Banana\n05:35 Make banana custard + cool\n10:47 How to make chiffon sponge\n17:31 Construction apparatus\n21:57 Assembly + chill\n24:12 Comparison\n26:56 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Tokyo Bananas | Claire Recreates", "796693e2-3815-41e7-a15b-f5262ca5a578", 9, [], 1634, false, "RWE_WnFfvcI", "https://www.youtube.com/watch?v=RWE_WnFfvcI", 12, "/downloads/shows/Claire Recreates/Season 2025/s2025e061800 - I Tried Making Homemade Tokyo Bananas | Claire Recreates.mkv", false, false, false, 1, ~U[2025-06-18 14:00:44Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "I Tried Making Homemade Tokyo Bananas | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on Japan’s most beloved souvenir treat ... the Tokyo Banana. These soft sponge cakes filled with sweet banana custard are a staple of Japanese train stations, gift shops, and childhood memories. Claire breaks it down step-by-step, making everything from scratch, from the light-as-air sponge cake to the rich banana cream filling.\n\nWhether you’re a Tokyo Banana superfan or discovering this iconic snack for the first time, follow along as Claire gives this classic the Dessert Person™ treatment.\n\n#TokyoBanana #ClaireSaffitz #ClaireRecreates #JapaneseSnacks #BananaCustard #SpongeCakeRecipe #JapaneseBaking #DessertPerson \n\nTOKYO BANANA (Recreates)\n\nSPONGE CAKE\n4 egg yolks, at room temperature\n20g sugar\n40 ml milk \n40g oil\n½ teaspoon vanilla extract\n30g all-purpose flour\n30g cornstarch\n4 egg whites, at room temperature\nPinch of salt \n¼ teaspoon cream of tartar \n60g sugar \n\nBANANA CREAM\n⅓ cup sugar \n3 tablespoons cornstarch\n½ teaspoon Diamond Crystal kosher salt \n4 large egg yolks\n1⅔ cups heavy cream, chilled\n1 cup mashed overripe banana (8.5 oz / 240g), from about 2 medium\n\nChapters\n00:00 Intro\n00:19 Tokyo Banana\n01:05 Smell test\n02:08 Taste test\n02:29 Measurements\n03:56 Reading the ingredients\n05:12 How to make Tokyo Banana\n05:35 Make banana custard + cool\n10:47 How to make chiffon sponge\n17:31 Construction apparatus\n21:57 Assembly + chill\n24:12 Comparison\n26:56 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Tokyo Bananas | Claire Recreates", 9, 1634, false, "RWE_WnFfvcI", "https://www.youtube.com/watch?v=RWE_WnFfvcI", "/downloads/shows/Claire Recreates/Season 2025/s2025e061800 - I Tried Making Homemade Tokyo Bananas | Claire Recreates.mkv", false, ~U[2025-06-18 14:00:44Z]] 00:48:49.964 [debug] QUERY OK source="sources" db=0.2ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.965 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 14:01:08Z], 9] 00:48:49.967 [debug] QUERY OK source="media_items" db=1.5ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates\nJoin Claire Saffitz in this episode of Claire Recreates as she takes on the beloved Mexican snack cake, Gansitos. From fluffy sponge cake to rich strawberry jam, creamy filling, and a decadent chocolate coating, Claire shows you how to recreate this nostalgic treat from scratch. Whether you grew up with Gansitos or are discovering them for the first time, this recipe is a delicious trip down memory lane.\nFilmed with baking techniques and inspired by the original Marinela Gansito, Claire walks through every step, sharing tips, baking science, and fun behind-the-scenes moments. Perfect for fans of Mexican desserts, snack cake lovers, and anyone curious about making iconic treats at home.\n\n#gansitos #cake #clairesaffitz #snackcake #chocolatedessert #strawberry \n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin → softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla extract\n\nSTRAWBERRY JELLY\n\nSPONGE CAKE\n4 large eggs, whites and yolks separated, at room temperature\n½ cup (100g) granulated sugar, divided\n4 tablespoons whole milk (60ml)\n½ teaspoon kosher salt\n¼ teaspoon cream of tartar\n¼ cup neutral oil\n⅔ cup (85g) all-purpose flour\n1 teaspoon vanilla extract\n\nChapters:\n00:00 Intro\n00:29 Gansitos\n00:58 First impressions\n01:19 Smell test\n01:29 Taste test\n01:57 Measurements\n03:17 Reading the Ingredients\n06:26 Game plan\n06:42 Make sprinkles\n09:50 Strawberry jelly\n10:57 Trip to apple orchard\n11:44 Strawberry jelly continued\n12:38 Bake sponge\n21:55 Creme filling\n25:40 Chocolate poured fondant + assembly\n29:37 Comparison\n31:42 Cat cam\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates", "ab057191-c865-4580-9d10-709ecec32c8a", 9, [], 1919, false, "k9rGZzQswI0", "https://www.youtube.com/watch?v=k9rGZzQswI0", 13, "/downloads/shows/Claire Recreates/Season 2025/s2025e081400 - I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates.mkv", false, false, false, 1, ~U[2025-08-14 14:01:08Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates\nJoin Claire Saffitz in this episode of Claire Recreates as she takes on the beloved Mexican snack cake, Gansitos. From fluffy sponge cake to rich strawberry jam, creamy filling, and a decadent chocolate coating, Claire shows you how to recreate this nostalgic treat from scratch. Whether you grew up with Gansitos or are discovering them for the first time, this recipe is a delicious trip down memory lane.\nFilmed with baking techniques and inspired by the original Marinela Gansito, Claire walks through every step, sharing tips, baking science, and fun behind-the-scenes moments. Perfect for fans of Mexican desserts, snack cake lovers, and anyone curious about making iconic treats at home.\n\n#gansitos #cake #clairesaffitz #snackcake #chocolatedessert #strawberry \n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin → softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla extract\n\nSTRAWBERRY JELLY\n\nSPONGE CAKE\n4 large eggs, whites and yolks separated, at room temperature\n½ cup (100g) granulated sugar, divided\n4 tablespoons whole milk (60ml)\n½ teaspoon kosher salt\n¼ teaspoon cream of tartar\n¼ cup neutral oil\n⅔ cup (85g) all-purpose flour\n1 teaspoon vanilla extract\n\nChapters:\n00:00 Intro\n00:29 Gansitos\n00:58 First impressions\n01:19 Smell test\n01:29 Taste test\n01:57 Measurements\n03:17 Reading the Ingredients\n06:26 Game plan\n06:42 Make sprinkles\n09:50 Strawberry jelly\n10:57 Trip to apple orchard\n11:44 Strawberry jelly continued\n12:38 Bake sponge\n21:55 Creme filling\n25:40 Chocolate poured fondant + assembly\n29:37 Comparison\n31:42 Cat cam\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates", 9, 1919, false, "k9rGZzQswI0", "https://www.youtube.com/watch?v=k9rGZzQswI0", "/downloads/shows/Claire Recreates/Season 2025/s2025e081400 - I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates.mkv", false, ~U[2025-08-14 14:01:08Z]] 00:48:49.968 [debug] QUERY OK source="sources" db=0.1ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.968 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT max(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:14Z], 9] 00:48:49.970 [debug] QUERY OK source="media_items" db=1.5ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Nutter Butter Cookies | Claire Recreates\nCan Claire Saffitz recreate the iconic Nutter Butter cookie at home? In this episode of Claire Recreates, Claire takes on the challenge of making homemade Nutter Butters completely from scratch. She bakes crunchy peanut shaped cookies and fills them with creamy peanut butter frosting.\n\nFrom mixing the dough to shaping the classic peanut design and testing the filling, Claire shows every step of the process as she compares homemade vs store bought Nutter Butters. Does the DIY version hold up against the nostalgic packaged cookie? Watch to find out.\n\nIf you have ever wondered how to make Nutter Butter cookies at home or wanted to see how they compare to the original, this video has the recipes, techniques, and taste test you are looking for.\n\n#ClaireSaffitz #ClaireRecreates #NutterButter #HomemadeCookies #baking \n\nIngredients:\nDOUGH\n2½ cups all-purpose flour \n½ teaspoon whole wheat flour \n¼ teaspoon baking soda\n1½ teaspoons Diamond Crystal kosher salt\n2 sticks unsalted butter, at room temperature\n1 cup granulated sugar\n1 cup natural smooth peanut butter\n2 large eggs (3.5 oz / 100g)\n1 teaspoon vanilla extract\nFILLING\n1 cup smooth natural peanut butter \n½ tsp. vanilla extract \nKosher salt\n¼ cup sugar\n3 tablespoons corn syrup\n1 tablespoon honey \n2 tablespoons butter \n\nChapters\n00:00 Intro\n00:16 How To Make Nutter Butter Cookies\n00:40 First impressions\n01:53 Ingredients\n02:54 Measurements\n04:01 Wood carving kit\n05:08 Game plan\n05:20 Cookie stamp\n10:02 Make Nutter Butter Cookies\n19:15 Bake\n20:57 Filling\n23:09 Assembly\n23:38 Comparison\n25:23 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates", "6b4d6dfb-592b-482b-91b4-8d884a18d42a", 9, [], 1540, false, "ck6D0SdiYA0", "https://www.youtube.com/watch?v=ck6D0SdiYA0", 14, "/downloads/shows/Claire Recreates/Season 2025/s2025e092600 - I Tried Making Homemade Nutter Butter Cookies | Claire Recreates.mkv", false, false, false, 1, ~U[2025-09-26 14:01:14Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates\nCan Claire Saffitz recreate the iconic Nutter Butter cookie at home? In this episode of Claire Recreates, Claire takes on the challenge of making homemade Nutter Butters completely from scratch. She bakes crunchy peanut shaped cookies and fills them with creamy peanut butter frosting.\n\nFrom mixing the dough to shaping the classic peanut design and testing the filling, Claire shows every step of the process as she compares homemade vs store bought Nutter Butters. Does the DIY version hold up against the nostalgic packaged cookie? Watch to find out.\n\nIf you have ever wondered how to make Nutter Butter cookies at home or wanted to see how they compare to the original, this video has the recipes, techniques, and taste test you are looking for.\n\n#ClaireSaffitz #ClaireRecreates #NutterButter #HomemadeCookies #baking \n\nIngredients:\nDOUGH\n2½ cups all-purpose flour \n½ teaspoon whole wheat flour \n¼ teaspoon baking soda\n1½ teaspoons Diamond Crystal kosher salt\n2 sticks unsalted butter, at room temperature\n1 cup granulated sugar\n1 cup natural smooth peanut butter\n2 large eggs (3.5 oz / 100g)\n1 teaspoon vanilla extract\nFILLING\n1 cup smooth natural peanut butter \n½ tsp. vanilla extract \nKosher salt\n¼ cup sugar\n3 tablespoons corn syrup\n1 tablespoon honey \n2 tablespoons butter \n\nChapters\n00:00 Intro\n00:16 How To Make Nutter Butter Cookies\n00:40 First impressions\n01:53 Ingredients\n02:54 Measurements\n04:01 Wood carving kit\n05:08 Game plan\n05:20 Cookie stamp\n10:02 Make Nutter Butter Cookies\n19:15 Bake\n20:57 Filling\n23:09 Assembly\n23:38 Comparison\n25:23 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates", 9, 1540, false, "ck6D0SdiYA0", "https://www.youtube.com/watch?v=ck6D0SdiYA0", "/downloads/shows/Claire Recreates/Season 2025/s2025e092600 - I Tried Making Homemade Nutter Butter Cookies | Claire Recreates.mkv", false, ~U[2025-09-26 14:01:14Z]] 00:48:49.971 [debug] QUERY OK source="sources" db=0.2ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.971 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 14:00:01Z], 9] 00:48:49.974 [debug] QUERY OK source="media_items" db=1.8ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Many thanks to our sponsor for today’s episode, Cometeer. If you’re interested in trying curated coffees from top roasters like Onyx, Proud Mary, and Intelligentsia, you can save $20 on your Discovery Box order by using the link http://cometeer.com/clairesaffitz . It’s the perfect way to start your morning or to give as a thoughtful gift this holiday season.\n\nI Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates \nIn this episode of Claire Recreates, Claire takes on the new-ish Hostess Iced Pumpkin Cupcake and makes it completely from scratch at home. Every fall, this limited-edition treat shows up in grocery stores and reminds us that pumpkin season has officially started. Claire dives into what makes it so nostalgic - the spiced pumpkin cake, the creamy filling, and that signature orange icing swirl -then recreates each element in her own kitchen.\n\nYou’ll see how she builds the cupcake step by step, from baking the soft pumpkin base to mixing the fluffy cream center and topping it with a smooth icing. She also shares a few tricks for getting the flavor and texture as close as possible to the original. Whether you’ve been waiting all year for pumpkin desserts or just love seeing classic snacks get a homemade twist, this one will make you want to preheat your oven.\n\nWatch until the end to see if Claire can match the look and taste of the real Hostess version, and find out how her homemade cupcakes compare. \n\nSubscribe for more recreations of nostalgic snacks and fall baking recipes, and let us know what Claire should tackle next.\n\n#ClaireRecreates #FallBaking #PumpkinDessert\n\nChapters\n00:00 Intro\n00:27 First impressions\n01:23 Smell test\n01:43 Taste test\n02:16 Measurements\n03:09 Reading the ingredients\n05:07 How To Make Iced Pumpkin Cupcakes\n06:43 How To Bake Cupcakes\n15:01 Coffee break\n16:40 Troubleshooting cupcakes\n19:44 How To Make Icing For Cupcakes\n27:40 Icing + decorating\n29:39 Comparison\n32:41 Cat cam\n\n\nIngredients\n\nCake\n1 cup mashed cooked sugar pumpkin (8.2 oz / 232g)\n⅓ cup milk\n1 teaspoon vanilla extract\n1½ cups all-purpose flour (7 oz / 200g)\n1½ teaspoons baking powder (0.21 oz / 6g)\n½ teaspoon ground cinnamon\n½ teaspoon Chinese five spice powder\n½ teaspoon ground turmeric\n¾ teaspoon Diamond Crystal kosher salt\n2 large eggs (3.5 oz / 100g), at room temperature\n¾ cup sugar (6.2 oz / 175g)\n¼ cup brown sugar\n½ cup neutral oil (3.9 oz / 110g)\n\nMarshmallow Filling\n38g water\n75g granulated sugar\n117g light corn syrup\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla paste\n\nIcing\nConfectioners’ sugar\nSour cream\nCorn syrup\nSalt\nVanilla\n\nSquiggles\nConfectioners’ sugar\nTurmeric\nBeet powder\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates", "91de41dc-afb2-4231-a8f4-2646f14b0176", 9, [], 1979, false, "-veNfe5ZUF0", "https://www.youtube.com/watch?v=-veNfe5ZUF0", 15, "/downloads/shows/Claire Recreates/Season 2025/s2025e102300 - I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates.mkv", false, false, false, 1, ~U[2025-10-23 14:00:01Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "Many thanks to our sponsor for today’s episode, Cometeer. If you’re interested in trying curated coffees from top roasters like Onyx, Proud Mary, and Intelligentsia, you can save $20 on your Discovery Box order by using the link http://cometeer.com/clairesaffitz . It’s the perfect way to start your morning or to give as a thoughtful gift this holiday season.\n\nI Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates \nIn this episode of Claire Recreates, Claire takes on the new-ish Hostess Iced Pumpkin Cupcake and makes it completely from scratch at home. Every fall, this limited-edition treat shows up in grocery stores and reminds us that pumpkin season has officially started. Claire dives into what makes it so nostalgic - the spiced pumpkin cake, the creamy filling, and that signature orange icing swirl -then recreates each element in her own kitchen.\n\nYou’ll see how she builds the cupcake step by step, from baking the soft pumpkin base to mixing the fluffy cream center and topping it with a smooth icing. She also shares a few tricks for getting the flavor and texture as close as possible to the original. Whether you’ve been waiting all year for pumpkin desserts or just love seeing classic snacks get a homemade twist, this one will make you want to preheat your oven.\n\nWatch until the end to see if Claire can match the look and taste of the real Hostess version, and find out how her homemade cupcakes compare. \n\nSubscribe for more recreations of nostalgic snacks and fall baking recipes, and let us know what Claire should tackle next.\n\n#ClaireRecreates #FallBaking #PumpkinDessert\n\nChapters\n00:00 Intro\n00:27 First impressions\n01:23 Smell test\n01:43 Taste test\n02:16 Measurements\n03:09 Reading the ingredients\n05:07 How To Make Iced Pumpkin Cupcakes\n06:43 How To Bake Cupcakes\n15:01 Coffee break\n16:40 Troubleshooting cupcakes\n19:44 How To Make Icing For Cupcakes\n27:40 Icing + decorating\n29:39 Comparison\n32:41 Cat cam\n\n\nIngredients\n\nCake\n1 cup mashed cooked sugar pumpkin (8.2 oz / 232g)\n⅓ cup milk\n1 teaspoon vanilla extract\n1½ cups all-purpose flour (7 oz / 200g)\n1½ teaspoons baking powder (0.21 oz / 6g)\n½ teaspoon ground cinnamon\n½ teaspoon Chinese five spice powder\n½ teaspoon ground turmeric\n¾ teaspoon Diamond Crystal kosher salt\n2 large eggs (3.5 oz / 100g), at room temperature\n¾ cup sugar (6.2 oz / 175g)\n¼ cup brown sugar\n½ cup neutral oil (3.9 oz / 110g)\n\nMarshmallow Filling\n38g water\n75g granulated sugar\n117g light corn syrup\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla paste\n\nIcing\nConfectioners’ sugar\nSour cream\nCorn syrup\nSalt\nVanilla\n\nSquiggles\nConfectioners’ sugar\nTurmeric\nBeet powder\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates", 9, 1979, false, "-veNfe5ZUF0", "https://www.youtube.com/watch?v=-veNfe5ZUF0", "/down (truncated) 00:48:49.975 [debug] QUERY OK source="sources" db=0.2ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.975 [debug] QUERY OK source="media_items" db=0.2ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 14:01:10Z], 9] 00:48:49.977 [debug] QUERY OK source="media_items" db=1.3ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this episode of Dessert Person, Claire Saffitz makes Pommes Anna, a classic French potato dish that’s as elegant as it is comforting. Using freshly dug potatoes from her garden, Claire layers thinly sliced potatoes with rosemary-infused butter, garlic, salt, and pepper, then bakes them until crisp and golden on the outside and tender inside.\n\nThis recipe is simple, refined, and ideal for the holidays - perfect alongside roast chicken, turkey, or any festive centerpiece. Claire shares her tips for even slicing, layering for the best texture, and how to unmold Pommes Anna beautifully for your table.\n\nIf you’re looking for a holiday side that feels both classic and special, this is it.\n\n#thanksgiving #potatorecipe #clairesaffitz #holiday \n\nChapters\n00:00 Intro\n01:31 Ingredients & Special Equipment\n02:25 Infuse the Butter & Prepare the Potatoes\n10:24 Cook & Bake\n11:26 Remove & Let Cool\n12:26 Serve\n14:26 Cat cam\n\nIngredients\n1 stick unsalted butter\n2 sprigs fresh rosemary\n2 garlic cloves, smashed and peeled\n3 lbs medium potatoes, peeled and held in room temperature tap water\nKosher salt\nFreshly ground black pepper\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz", "e44b3b51-245e-4fb8-81c5-54db8f130647", 9, [], 883, false, "ch3TBJkVkTY", "https://www.youtube.com/watch?v=ch3TBJkVkTY", 16, "/downloads/shows/Claire Recreates/Season 2025/s2025e103000 - The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz.mkv", false, false, false, 1, ~U[2025-10-30 14:01:10Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "In this episode of Dessert Person, Claire Saffitz makes Pommes Anna, a classic French potato dish that’s as elegant as it is comforting. Using freshly dug potatoes from her garden, Claire layers thinly sliced potatoes with rosemary-infused butter, garlic, salt, and pepper, then bakes them until crisp and golden on the outside and tender inside.\n\nThis recipe is simple, refined, and ideal for the holidays - perfect alongside roast chicken, turkey, or any festive centerpiece. Claire shares her tips for even slicing, layering for the best texture, and how to unmold Pommes Anna beautifully for your table.\n\nIf you’re looking for a holiday side that feels both classic and special, this is it.\n\n#thanksgiving #potatorecipe #clairesaffitz #holiday \n\nChapters\n00:00 Intro\n01:31 Ingredients & Special Equipment\n02:25 Infuse the Butter & Prepare the Potatoes\n10:24 Cook & Bake\n11:26 Remove & Let Cool\n12:26 Serve\n14:26 Cat cam\n\nIngredients\n1 stick unsalted butter\n2 sprigs fresh rosemary\n2 garlic cloves, smashed and peeled\n3 lbs medium potatoes, peeled and held in room temperature tap water\nKosher salt\nFreshly ground black pepper\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz", 9, 883, false, "ch3TBJkVkTY", "https://www.youtube.com/watch?v=ch3TBJkVkTY", "/downloads/shows/Claire Recreates/Season 2025/s2025e103000 - The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz.mkv", false, ~U[2025-10-30 14:01:10Z]] 00:48:49.977 [debug] QUERY OK source="sources" db=0.1ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.978 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-04 15:00:32Z], 9] 00:48:49.980 [debug] QUERY OK source="media_items" db=1.6ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates\nIn this episode of Claire Recreates, Claire tackles a true lunchbox classic: the Little Debbie Honey Bun. Soft, sticky, sweet, and glazed, Honey Buns are one of the most iconic packaged pastries around and recreating them at home is a labor of love. Claire dives into what makes the original so nostalgic, from the enriched dough and spiraled shape to the signature sticky-sweet glaze.\n\nYou’ll watch as she mixes and proofs the dough, rolls and cuts each bun, then fries them to get that signature tender, slightly chewy texture. Once they’re golden, she finishes them with a warm honey glaze that melts into all the nooks and crannies, giving them that unmistakable glossy sheen.\n\nAlong the way, Claire shares tips for developing flavor in the dough, keeping the buns soft after frying, and getting the glaze just right. Whether you grew up eating Honey Buns on the go or just love seeing nostalgic snacks recreated from scratch, this episode is pure sticky-sweet comfort.\n\nStick around until the end to see how Claire’s homemade Honey Buns compare to the Little Debbie original, and whether she can truly match the iconic taste and look.\n\nSubscribe for more recreations of nostalgic snacks and comfort-food favorites, and let us know what Claire should take on next.\n\n#ClaireRecreates #HoneyBuns #LittleDebbie\n\nChapters\n00:00 Intro\n00:15 First impressions\n00:54 Smell test\n02:12 Taste test\n02:49 Reading the ingredients\n04:44 Measurements\n06:16 Game plan\n06:40 Dough Rise\n13:29 Form buns (swirl) Proof\n21:21 Frying Glazing\n27:24 Comparison\n30:17 Cat cam\n\nDOUGH\n¾ cup whole milk\n38g plus 368g all-purpose flour\n3 large eggs, chilled\n1½ tablespoons vegetable oil\n1½ tablespoons granulated sugar\n1½ tablespoons honey\n8 grams kosher salt\n1½ teaspoons instant yeast\n85g unsalted butter, cut into ½-inch pieces, chilled\nNeutral oil, for frying\n\nSWIRL\nWater + Cinnamon\n\nGLAZE\n½ cup whole milk\n2 tablespoons unsalted butter\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates", "856f0e0c-6e8e-4e7a-a07c-8b8ae415b825", 9, [], 1835, false, "CViDoQkqf24", "https://www.youtube.com/watch?v=CViDoQkqf24", 17, "/downloads/shows/Claire Recreates/Season 2025/s2025e120400 - I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates.mkv", false, false, false, 1, ~U[2025-12-04 15:00:32Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates\nIn this episode of Claire Recreates, Claire tackles a true lunchbox classic: the Little Debbie Honey Bun. Soft, sticky, sweet, and glazed, Honey Buns are one of the most iconic packaged pastries around and recreating them at home is a labor of love. Claire dives into what makes the original so nostalgic, from the enriched dough and spiraled shape to the signature sticky-sweet glaze.\n\nYou’ll watch as she mixes and proofs the dough, rolls and cuts each bun, then fries them to get that signature tender, slightly chewy texture. Once they’re golden, she finishes them with a warm honey glaze that melts into all the nooks and crannies, giving them that unmistakable glossy sheen.\n\nAlong the way, Claire shares tips for developing flavor in the dough, keeping the buns soft after frying, and getting the glaze just right. Whether you grew up eating Honey Buns on the go or just love seeing nostalgic snacks recreated from scratch, this episode is pure sticky-sweet comfort.\n\nStick around until the end to see how Claire’s homemade Honey Buns compare to the Little Debbie original, and whether she can truly match the iconic taste and look.\n\nSubscribe for more recreations of nostalgic snacks and comfort-food favorites, and let us know what Claire should take on next.\n\n#ClaireRecreates #HoneyBuns #LittleDebbie\n\nChapters\n00:00 Intro\n00:15 First impressions\n00:54 Smell test\n02:12 Taste test\n02:49 Reading the ingredients\n04:44 Measurements\n06:16 Game plan\n06:40 Dough Rise\n13:29 Form buns (swirl) Proof\n21:21 Frying Glazing\n27:24 Comparison\n30:17 Cat cam\n\nDOUGH\n¾ cup whole milk\n38g plus 368g all-purpose flour\n3 large eggs, chilled\n1½ tablespoons vegetable oil\n1½ tablespoons granulated sugar\n1½ tablespoons honey\n8 grams kosher salt\n1½ teaspoons instant yeast\n85g unsalted butter, cut into ½-inch pieces, chilled\nNeutral oil, for frying\n\nSWIRL\nWater + Cinnamon\n\nGLAZE\n½ cup whole milk\n2 tablespoons unsalted butter\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates", 9, 1835, false, "CViDoQkqf24", "https://www.youtube.com/watch?v=CViDoQkqf24", "/downloads/shows/Claire Recreates/Season 2025/s2025e120400 - I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates.mkv", false, ~U[2025-12-04 15:00:32Z]] 00:48:49.981 [debug] QUERY OK source="sources" db=0.2ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.981 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-04 15:01:07Z], 9] 00:48:49.984 [debug] QUERY OK source="media_items" db=1.5ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Whoppers | Claire Recreates\nIn this episode of Claire Recreates, Claire takes on a movie-theater and candy-aisle classic: Whoppers. Crunchy, airy, deeply malty, and coated in milk chocolate, Whoppers seem simple, but recreating that unmistakable texture from scratch turns out to be a real technical puzzle.\n\nClaire starts by breaking down the heart of the candy: the light, crisp malted center. She builds it from an Italian meringue made with whipped egg whites and a cooked sugar syrup, then folds in a carefully balanced malt mixture made from malted milk powder, barley malt flour, milk, salt, and leavening. The mixture is cooked, aerated, portioned into tiny spheres, and baked until dry, hollow, and shatter-crisp inside.\n\nOnce the centers are just right, Claire moves on to the chocolate. She coats each malted ball in smooth milk chocolate, dialing in the thickness and snap so it eats like the real thing, no waxy shortcuts, no shortcuts at all.\n\nAlong the way, Claire dives into what gives Whoppers their signature flavor, why malt is so nostalgic, and how industrial candy achieves that ultra-light crunch. She shares tips on sugar stages, drying vs. baking, and how small changes can completely alter the final texture.\n\n#clairesaffitz #whoppers #chocolate \n\nChapters\n00:00 Intro\n01:31 First impressions\n01:57 Reading the ingredients\n02:52 Taste test\n03:44 Measurements\n04:36 Game plan\n04:45 How To Make Whoppers\n17:34 Coat in tempered milk chocolate\n21:23 Comparison\n24:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Whoppers | Claire Recreates", "748d261e-eea9-4572-ae12-2659d41744d2", 9, [], 1458, false, "Zs8bGlrcYAo", "https://www.youtube.com/watch?v=Zs8bGlrcYAo", 18, "/downloads/shows/Claire Recreates/Season 2026/s2026e020400 - I Tried Making Homemade Whoppers | Claire Recreates.mkv", false, false, false, 1, ~U[2026-02-04 15:01:07Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "I Tried Making Homemade Whoppers | Claire Recreates\nIn this episode of Claire Recreates, Claire takes on a movie-theater and candy-aisle classic: Whoppers. Crunchy, airy, deeply malty, and coated in milk chocolate, Whoppers seem simple, but recreating that unmistakable texture from scratch turns out to be a real technical puzzle.\n\nClaire starts by breaking down the heart of the candy: the light, crisp malted center. She builds it from an Italian meringue made with whipped egg whites and a cooked sugar syrup, then folds in a carefully balanced malt mixture made from malted milk powder, barley malt flour, milk, salt, and leavening. The mixture is cooked, aerated, portioned into tiny spheres, and baked until dry, hollow, and shatter-crisp inside.\n\nOnce the centers are just right, Claire moves on to the chocolate. She coats each malted ball in smooth milk chocolate, dialing in the thickness and snap so it eats like the real thing, no waxy shortcuts, no shortcuts at all.\n\nAlong the way, Claire dives into what gives Whoppers their signature flavor, why malt is so nostalgic, and how industrial candy achieves that ultra-light crunch. She shares tips on sugar stages, drying vs. baking, and how small changes can completely alter the final texture.\n\n#clairesaffitz #whoppers #chocolate \n\nChapters\n00:00 Intro\n01:31 First impressions\n01:57 Reading the ingredients\n02:52 Taste test\n03:44 Measurements\n04:36 Game plan\n04:45 How To Make Whoppers\n17:34 Coat in tempered milk chocolate\n21:23 Comparison\n24:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Whoppers | Claire Recreates", 9, 1458, false, "Zs8bGlrcYAo", "https://www.youtube.com/watch?v=Zs8bGlrcYAo", "/downloads/shows/Claire Recreates/Season 2026/s2026e020400 - I Tried Making Homemade Whoppers | Claire Recreates.mkv", false, ~U[2026-02-04 15:01:07Z]] 00:48:49.984 [debug] QUERY OK source="sources" db=0.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" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 00:48:49.985 [debug] QUERY OK source="media_items" db=0.3ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-16 14:00:13Z], 9] 00:48:49.987 [debug] QUERY OK source="media_items" db=1.0ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, Claire Saffitz explores the iconic beverage, Coca-Cola. She delves into the ingredients and process behind making this classic soda. Watch as she attempts to recreate the distinctive taste of coke, offering insights into its composition and how to make a version at home. This episode is a deep dive into the world of cola and food science.\n\n#clairesaffitz #cocacola #homemade \n\n00:00 Intro\n02:11 Reading the Coca Cola Ingredients\n02:21 Observations\n08:02 Game plan\n08:21 How To Make Caramel\n12:12 Tinker\n29:25 How To Make Seltzer\n30:08 Comparison\n33:48 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Coca Cola | Claire Recreates", "f92a7bcd-7d96-4ad9-89d6-9ff7a1f80d1a", 9, [], 2046, false, "9f3ZO4N0RC8", "https://www.youtube.com/watch?v=9f3ZO4N0RC8", 19, "/downloads/shows/Claire Recreates/Season 2026/s2026e031600 - I Tried Making Homemade Coca Cola | Claire Recreates.mkv", false, false, false, 1, ~U[2026-03-16 14:00:13Z], ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], "In this video, Claire Saffitz explores the iconic beverage, Coca-Cola. She delves into the ingredients and process behind making this classic soda. Watch as she attempts to recreate the distinctive taste of coke, offering insights into its composition and how to make a version at home. This episode is a deep dive into the world of cola and food science.\n\n#clairesaffitz #cocacola #homemade \n\n00:00 Intro\n02:11 Reading the Coca Cola Ingredients\n02:21 Observations\n08:02 Game plan\n08:21 How To Make Caramel\n12:12 Tinker\n29:25 How To Make Seltzer\n30:08 Comparison\n33:48 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Coca Cola | Claire Recreates", 9, 2046, false, "9f3ZO4N0RC8", "https://www.youtube.com/watch?v=9f3ZO4N0RC8", "/downloads/shows/Claire Recreates/Season 2026/s2026e031600 - I Tried Making Homemade Coca Cola | Claire Recreates.mkv", false, ~U[2026-03-16 14:00:13Z]] 00:48:49.987 [debug] QUERY OK source="sources" db=0.1ms idle=5.5ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z], 9] 00:48:49.988 [debug] QUERY OK source="media_items" db=0.6ms idle=4.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 00:48:49.989 [debug] QUERY OK source="media_items" db=0.3ms idle=4.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 00:48:49.989 [debug] QUERY OK source="media_items" db=0.1ms idle=3.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 00:48:49.990 [debug] QUERY OK source="tasks" db=0.2ms idle=2.1ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [4848, 9, ~U[2026-04-16 22:48:49Z], ~U[2026-04-16 22:48:49Z]] 00:48:49.991 [info] {"args":{"id":9},"id":4844,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":67443508,"event":"job:stop","queue_time":269232,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 00:49:00.181 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:49:01.912 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:49:31.913 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:00.182 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:50:01.914 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:50:31.915 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:00.183 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:51:01.916 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:51:31.917 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:00.184 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:52:01.918 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:52:31.918 [info] {"source":"oban","duration":576,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:00.185 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:53:01.920 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:53:31.921 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:00.186 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:54:01.922 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:54:31.923 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:00.187 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:55:01.924 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:55:31.925 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:00.188 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:56:01.926 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:56:31.927 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:00.189 [info] {"source":"oban","duration":148,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:57:01.928 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:57:31.929 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:58:00.190 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:58:01.930 [info] {"source":"oban","duration":953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 00:58:31.932 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:00.191 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 00:59:01.933 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 00:59:31.934 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:00.192 [info] {"source":"oban","duration":225,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:00:01.935 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:00:31.936 [info] {"source":"oban","duration":868,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:00.193 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:01:01.938 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:01:31.939 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:00.194 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:02:01.940 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:02:31.941 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:00.195 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:03:01.942 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:02.641 [info] {"args":{"id":5},"id":4838,"meta":{},"system_time":1776380582641079729,"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"]} 01:03:02.641 [debug] QUERY OK source="sources" db=0.1ms idle=1680.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:02.642 [debug] QUERY OK source="settings" db=0.1ms idle=1008.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:03:02.646 [debug] QUERY OK source="media_items" db=4.3ms idle=700.2ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [5] 01:03:02.647 [debug] QUERY OK source="media_items" db=0.2ms idle=12.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [5] 01:03:02.647 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:03:02.648 [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 [] 01:03:02.648 [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 [] 01:03:02.652 [debug] QUERY OK source="media_items" db=3.6ms idle=2.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [5] 01:03:02.655 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 01:03:02.656 [debug] Current batch of media processed. Will check again in 1000ms 01:03:02.656 [debug] QUERY OK source="settings" db=0.3ms 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 [] 01:03:02.656 [debug] QUERY OK source="settings" db=0.1ms idle=8.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:03:02.656 [debug] QUERY OK source="settings" db=0.0ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:03:02.656 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/techlinked --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/TechLinked/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/46/e6/46e6aaa9ead4c63fd75c8bcae2e7212b403baecac4aa37f855190ea1f63e6fb4.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/5c/57/5c5748a0d789290bc9354cfb3acd2c0354f805792ce5048f176af4fd1bc70e08.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:03:03.656 [debug] Current batch of media processed. Will check again in 1000ms 01:03:04.657 [debug] Current batch of media processed. Will check again in 1000ms 01:03:05.658 [debug] Current batch of media processed. Will check again in 1000ms 01:03:06.661 [debug] Current batch of media processed. Will check again in 1000ms 01:03:07.662 [debug] Current batch of media processed. Will check again in 1000ms 01:03:08.663 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/240Ja\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 FIRST VOLLEY!!\n0:10 News sites block Wayback Machine\n1:22 Big Tech ignoring cookie consent \n2:29 FCC exempts Netgear from router ban\n5:04 QUICK BITS INTRO\n5:13 Windows Recall new security concerns\n5:57 China tests deep-sea cable cutter\n6:31 Snap laying off 1,000 workers\n6:59 Nvidia warranty payouts increase 10x\n7:34 Chinese car toilet seat", "duration" => 505, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e041600 - We’re Losing the Web.mkv", "id" => "9HaPgJt9SDo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9HaPgJt9SDo", "playlist_index" => 1, "timestamp" => 1776307072, "title" => "We’re Losing the Web", "upload_date" => "20260416"} 01:03:08.664 [debug] QUERY OK source="sources" db=0.2ms idle=703.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:03:08.664 [debug] QUERY OK source="sources" db=0.1ms idle=703.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:08.668 [debug] QUERY OK source="media_items" db=3.5ms idle=704.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-16 02:37:52Z], 5] 01:03:08.671 [debug] QUERY OK source="media_items" db=2.0ms idle=708.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/240Ja\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 FIRST VOLLEY!!\n0:10 News sites block Wayback Machine\n1:22 Big Tech ignoring cookie consent \n2:29 FCC exempts Netgear from router ban\n5:04 QUICK BITS INTRO\n5:13 Windows Recall new security concerns\n5:57 China tests deep-sea cable cutter\n6:31 Snap laying off 1,000 workers\n6:59 Nvidia warranty payouts increase 10x\n7:34 Chinese car toilet seat", "We’re Losing the Web", "c9906966-baa3-4ba1-bacf-6cd851f1f2b0", 5, [], 505, false, "9HaPgJt9SDo", "https://www.youtube.com/watch?v=9HaPgJt9SDo", 1, "/downloads/shows/TechLinked/Season 2026/s2026e041600 - We’re Losing the Web.mkv", false, false, false, 99, ~U[2026-04-16 02:37:52Z], ~U[2026-04-16 23:03:08Z], ~U[2026-04-16 23:03:08Z], "Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/240Ja\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 FIRST VOLLEY!!\n0:10 News sites block Wayback Machine\n1:22 Big Tech ignoring cookie consent \n2:29 FCC exempts Netgear from router ban\n5:04 QUICK BITS INTRO\n5:13 Windows Recall new security concerns\n5:57 China tests deep-sea cable cutter\n6:31 Snap laying off 1,000 workers\n6:59 Nvidia warranty payouts increase 10x\n7:34 Chinese car toilet seat", "We’re Losing the Web", 5, 505, false, "9HaPgJt9SDo", "https://www.youtube.com/watch?v=9HaPgJt9SDo", "/downloads/shows/TechLinked/Season 2026/s2026e041600 - We’re Losing the Web.mkv", false, ~U[2026-04-16 02:37:52Z]] 01:03:08.671 [debug] QUERY OK source="sources" db=0.1ms idle=28.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:08.671 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:03:08.672 [debug] QUERY OK source="media_items" db=0.2ms idle=7.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [163554] 01:03:08.672 [info] Kicking off download for media item #163554 (9HaPgJt9SDo) 01:03:08.674 [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" [4849, 163554, ~U[2026-04-16 23:03:08Z], ~U[2026-04-16 23:03:08Z]] 01:03:08.674 [debug] Current batch of media processed. Will check again in 1000ms 01:03:08.681 [info] {"args":{"id":163554},"id":4849,"meta":{},"system_time":1776380588681347235,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:03:08.681 [debug] QUERY OK source="media_items" db=0.1ms 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" = ?) [163554] 01:03:08.681 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:03:08.682 [debug] QUERY OK source="sources" db=0.1ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:08.683 [debug] QUERY OK source="media_profiles" db=0.5ms idle=8.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:03:08.683 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [163554] 01:03:08.684 [debug] QUERY OK source="media_metadata" db=0.3ms 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" = ?) [163554] 01:03:08.685 [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] 01:03:08.685 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:03:08.685 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:03:08.686 [debug] Running yt-dlp command for action: get_downloadable_status 01:03:08.686 [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 [] 01:03:08.687 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:03:08.687 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:03:08.687 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9HaPgJt9SDo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8c/2f/8c2f7eecd9c7c6567298b54ceed5549693e40e970a5dfcdf355875bd7d10d42b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:03:09.675 [debug] Current batch of media processed. Will check again in 1000ms 01:03:10.676 [debug] Current batch of media processed. Will check again in 1000ms 01:03:11.677 [debug] Current batch of media processed. Will check again in 1000ms 01:03:12.678 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Play War Thunder for FREE on PC, PlayStation, Xbox, and mobile using the links below! New to the game, or returning after six months? You'll get a massive bonus pack on PC and consoles packed with vehicles, boosters, and more. Claim your bonus and start playing today!\nPC/Console: https://playwt.link/techlinked \nMobile: https://wtm.game/techlinked \n\nNEWS SOURCES: https://lmg.gg/fPugG\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 Intro\n0:14 NVIDIA N1 Spotted in the Wild\n1:29 Apple Smart Glasses Update\n2:38 Rockstar Hacked\n4:50 QUICK BITS INTRO\n4:59 Verbatim, I-O Data Keeping Blu-ray Alive\n5:34 Blue Origin Makes Oxygen From Moon Dust\n6:06 Mark Zuckerberg’s AI Clone\n6:54 New DNA Encryption Method\n7:32 Robot Birds Luring Real Birds", "duration" => 498, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e041400 - This Could Be Cataclysmic.mkv", "id" => "k1PV5squdbY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=k1PV5squdbY", "playlist_index" => 2, "timestamp" => 1776126766, "title" => "This Could Be Cataclysmic", "upload_date" => "20260414"} 01:03:12.679 [debug] QUERY OK source="sources" db=0.5ms idle=718.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:03:12.680 [debug] QUERY OK source="sources" db=0.6ms idle=719.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:12.685 [debug] QUERY OK source="media_items" db=4.9ms idle=720.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-14 00:32:46Z], 5] 01:03:12.687 [debug] QUERY OK source="media_items" db=1.1ms idle=725.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Play War Thunder for FREE on PC, PlayStation, Xbox, and mobile using the links below! New to the game, or returning after six months? You'll get a massive bonus pack on PC and consoles packed with vehicles, boosters, and more. Claim your bonus and start playing today!\nPC/Console: https://playwt.link/techlinked \nMobile: https://wtm.game/techlinked \n\nNEWS SOURCES: https://lmg.gg/fPugG\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 Intro\n0:14 NVIDIA N1 Spotted in the Wild\n1:29 Apple Smart Glasses Update\n2:38 Rockstar Hacked\n4:50 QUICK BITS INTRO\n4:59 Verbatim, I-O Data Keeping Blu-ray Alive\n5:34 Blue Origin Makes Oxygen From Moon Dust\n6:06 Mark Zuckerberg’s AI Clone\n6:54 New DNA Encryption Method\n7:32 Robot Birds Luring Real Birds", "This Could Be Cataclysmic", "751f5b7c-165d-49b0-a667-15efd97c981a", 5, [], 498, false, "k1PV5squdbY", "https://www.youtube.com/watch?v=k1PV5squdbY", 2, "/downloads/shows/TechLinked/Season 2026/s2026e041400 - This Could Be Cataclysmic.mkv", false, false, false, 98, ~U[2026-04-14 00:32:46Z], ~U[2026-04-16 23:03:12Z], ~U[2026-04-16 23:03:12Z], "Play War Thunder for FREE on PC, PlayStation, Xbox, and mobile using the links below! New to the game, or returning after six months? You'll get a massive bonus pack on PC and consoles packed with vehicles, boosters, and more. Claim your bonus and start playing today!\nPC/Console: https://playwt.link/techlinked \nMobile: https://wtm.game/techlinked \n\nNEWS SOURCES: https://lmg.gg/fPugG\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 Intro\n0:14 NVIDIA N1 Spotted in the Wild\n1:29 Apple Smart Glasses Update\n2:38 Rockstar Hacked\n4:50 QUICK BITS INTRO\n4:59 Verbatim, I-O Data Keeping Blu-ray Alive\n5:34 Blue Origin Makes Oxygen From Moon Dust\n6:06 Mark Zuckerberg’s AI Clone\n6:54 New DNA Encryption Method\n7:32 Robot Birds Luring Real Birds", "This Could Be Cataclysmic", 5, 498, false, "k1PV5squdbY", "https://www.youtube.com/watch?v=k1PV5squdbY", "/downloads/shows/TechLinked/Season 2026/s2026e041400 - This Could Be Cataclysmic.mkv", false, ~U[2026-04-14 00:32:46Z]] 01:03:12.688 [debug] QUERY OK source="sources" db=0.3ms idle=38.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:12.688 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 01:03:12.689 [debug] QUERY OK source="media_items" db=0.3ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [162565] 01:03:12.689 [debug] Current batch of media processed. Will check again in 1000ms 01:03:13.690 [debug] Current batch of media processed. Will check again in 1000ms 01:03:14.309 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9HaPgJt9SDo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8c/2f/8c2f7eecd9c7c6567298b54ceed5549693e40e970a5dfcdf355875bd7d10d42b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:03:14.309 [debug] Running yt-dlp command for action: download 01:03:14.310 [debug] QUERY OK source="settings" db=0.2ms 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 [] 01:03:14.310 [debug] QUERY OK source="settings" db=0.1ms idle=349.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:03:14.311 [debug] QUERY OK source="settings" db=0.5ms idle=350.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:03:14.311 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9HaPgJt9SDo --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/shows/TechLinked/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor,interaction --output /downloads/shows/TechLinked/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f2/3c/f23cc5efa372e0db22d388de91e0675c0042086f7e9c4261744a145bef50fc66.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:03:14.691 [debug] Current batch of media processed. Will check again in 1000ms 01:03:15.692 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get a 15% discount on Saily eSIM data plans! Download the Saily app and use code TECHLINKED at checkout. Or go to https://saily.com/techlinked\n\nNEWS SOURCES: https://lmg.gg/rlqb5\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 you know it when you see it\n0:10 YouTube TV 90sec ads, Premium hike\n1:16 CPUID site hacked, CPU-Z, HWMonitor \n2:33 French govt ditches Windows to Linux\n4:30 QUICK BITS INTRO\n4:39 Keychron releases source files\n5:09 OpenAI also has dangerous AI\n5:47 Take It Down Act first case\n6:33 Brother sued over Blackberry patents\n7:18 Honor MouseBuds Pro", "duration" => 489, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e041100 - That's Enough, YouTube..mkv", "id" => "pbqM8c9vTyE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pbqM8c9vTyE", "playlist_index" => 3, "timestamp" => 1775882296, "title" => "That's Enough, YouTube.", "upload_date" => "20260411"} 01:03:15.693 [debug] QUERY OK source="sources" db=0.2ms idle=1382.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:03:15.693 [debug] QUERY OK source="sources" db=0.1ms idle=1383.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:15.697 [debug] QUERY OK source="media_items" db=3.7ms idle=1382.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-11 04:38:16Z], 5] 01:03:15.709 [debug] QUERY OK source="media_items" db=11.0ms idle=1045.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get a 15% discount on Saily eSIM data plans! Download the Saily app and use code TECHLINKED at checkout. Or go to https://saily.com/techlinked\n\nNEWS SOURCES: https://lmg.gg/rlqb5\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 you know it when you see it\n0:10 YouTube TV 90sec ads, Premium hike\n1:16 CPUID site hacked, CPU-Z, HWMonitor \n2:33 French govt ditches Windows to Linux\n4:30 QUICK BITS INTRO\n4:39 Keychron releases source files\n5:09 OpenAI also has dangerous AI\n5:47 Take It Down Act first case\n6:33 Brother sued over Blackberry patents\n7:18 Honor MouseBuds Pro", "That's Enough, YouTube.", "067d9aac-e3b3-4c5b-bafe-09f536458c86", 5, [], 489, false, "pbqM8c9vTyE", "https://www.youtube.com/watch?v=pbqM8c9vTyE", 3, "/downloads/shows/TechLinked/Season 2026/s2026e041100 - That's Enough, YouTube..mkv", false, false, false, 98, ~U[2026-04-11 04:38:16Z], ~U[2026-04-16 23:03:15Z], ~U[2026-04-16 23:03:15Z], "Get a 15% discount on Saily eSIM data plans! Download the Saily app and use code TECHLINKED at checkout. Or go to https://saily.com/techlinked\n\nNEWS SOURCES: https://lmg.gg/rlqb5\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 you know it when you see it\n0:10 YouTube TV 90sec ads, Premium hike\n1:16 CPUID site hacked, CPU-Z, HWMonitor \n2:33 French govt ditches Windows to Linux\n4:30 QUICK BITS INTRO\n4:39 Keychron releases source files\n5:09 OpenAI also has dangerous AI\n5:47 Take It Down Act first case\n6:33 Brother sued over Blackberry patents\n7:18 Honor MouseBuds Pro", "That's Enough, YouTube.", 5, 489, false, "pbqM8c9vTyE", "https://www.youtube.com/watch?v=pbqM8c9vTyE", "/downloads/shows/TechLinked/Season 2026/s2026e041100 - That's Enough, YouTube..mkv", false, ~U[2026-04-11 04:38:16Z]] 01:03:15.710 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=55.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:15.710 [debug] QUERY OK source="media_profiles" db=0.1ms idle=16.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:03:15.711 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=17.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [161137] 01:03:15.711 [debug] Current batch of media processed. Will check again in 1000ms 01:03:16.712 [debug] Current batch of media processed. Will check again in 1000ms 01:03:17.714 [debug] Current batch of media processed. Will check again in 1000ms 01:03:18.715 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "ave 30% on a Redtiger F17 Elite Dash Cam with full-color night vision using code RTF17E025 at: https://lmg.gg/muePr\nSave an extra $10 with code F17ECAM on the Redtiger site: https://lmg.gg/v6VI3\n\nNEWS SOURCES: https://lmg.gg/Sr1NJ\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 let my tale be a warning to you\n0:11 Anthropic Claude Mythos / Project Glasswing\n1:52 Snapdragon X2 Elite Extreme laptop\n3:05 John Deere settles right to repair lawsuit\n5:17 QUICK BITS INTRO\n5:24 iPhone Fold dummy unit leak\n6:04 Intel to join Elon's Terafab\n6:40 Apple Silicon Macs get eGPU support\n7:07 Wacky / cool Tennessee AI laws?\n7:49 Milla Jovovich launches AI tool", "duration" => 535, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e040900 - Do NOT Let This AI Out....mkv", "id" => "7NUjC3iPr9g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7NUjC3iPr9g", "playlist_index" => 4, "timestamp" => 1775703953, "title" => "Do NOT Let This AI Out...", "upload_date" => "20260409"} 01:03:18.716 [debug] QUERY OK source="sources" db=0.5ms idle=1755.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:03:18.717 [debug] QUERY OK source="sources" db=1.0ms idle=1756.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:18.721 [debug] QUERY OK source="media_items" db=3.6ms idle=1757.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-09 03:05:53Z], 5] 01:03:18.723 [debug] QUERY OK source="media_items" db=1.1ms idle=1061.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["ave 30% on a Redtiger F17 Elite Dash Cam with full-color night vision using code RTF17E025 at: https://lmg.gg/muePr\nSave an extra $10 with code F17ECAM on the Redtiger site: https://lmg.gg/v6VI3\n\nNEWS SOURCES: https://lmg.gg/Sr1NJ\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 let my tale be a warning to you\n0:11 Anthropic Claude Mythos / Project Glasswing\n1:52 Snapdragon X2 Elite Extreme laptop\n3:05 John Deere settles right to repair lawsuit\n5:17 QUICK BITS INTRO\n5:24 iPhone Fold dummy unit leak\n6:04 Intel to join Elon's Terafab\n6:40 Apple Silicon Macs get eGPU support\n7:07 Wacky / cool Tennessee AI laws?\n7:49 Milla Jovovich launches AI tool", "Do NOT Let This AI Out...", "96264ca2-2c95-49c8-be19-d62f88d47203", 5, [], 535, false, "7NUjC3iPr9g", "https://www.youtube.com/watch?v=7NUjC3iPr9g", 4, "/downloads/shows/TechLinked/Season 2026/s2026e040900 - Do NOT Let This AI Out....mkv", false, false, false, 98, ~U[2026-04-09 03:05:53Z], ~U[2026-04-16 23:03:18Z], ~U[2026-04-16 23:03:18Z], "ave 30% on a Redtiger F17 Elite Dash Cam with full-color night vision using code RTF17E025 at: https://lmg.gg/muePr\nSave an extra $10 with code F17ECAM on the Redtiger site: https://lmg.gg/v6VI3\n\nNEWS SOURCES: https://lmg.gg/Sr1NJ\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 let my tale be a warning to you\n0:11 Anthropic Claude Mythos / Project Glasswing\n1:52 Snapdragon X2 Elite Extreme laptop\n3:05 John Deere settles right to repair lawsuit\n5:17 QUICK BITS INTRO\n5:24 iPhone Fold dummy unit leak\n6:04 Intel to join Elon's Terafab\n6:40 Apple Silicon Macs get eGPU support\n7:07 Wacky / cool Tennessee AI laws?\n7:49 Milla Jovovich launches AI tool", "Do NOT Let This AI Out...", 5, 535, false, "7NUjC3iPr9g", "https://www.youtube.com/watch?v=7NUjC3iPr9g", "/downloads/shows/TechLinked/Season 2026/s2026e040900 - Do NOT Let This AI Out....mkv", false, ~U[2026-04-09 03:05:53Z]] 01:03:18.724 [debug] QUERY OK source="sources" db=0.3ms idle=61.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:18.724 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:03:18.725 [debug] QUERY OK source="media_items" db=0.2ms idle=7.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [160147] 01:03:18.725 [debug] Current batch of media processed. Will check again in 1000ms 01:03:19.726 [debug] Current batch of media processed. Will check again in 1000ms 01:03:20.727 [debug] Current batch of media processed. Will check again in 1000ms 01:03:21.728 [debug] Current batch of media processed. Will check again in 1000ms 01:03:22.729 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Go to https://shortlinus.com for all your case, screen protector, and overpriced sticker needs. \n\nNEWS SOURCES: https://lmg.gg/h1slF\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 Here's tech news molded into a bunny shape\n0:12 Chinese RAM cheap, but Samsung ups price\n1:31 Artemis II completes lunar fly-by\n2:59 LinkedIn 'Browsergate'\n5:07 QUICK BITS INTRO\n5:16 Nvidia Neural Texture compression\n6:03 Italian courts invalidates Netflix price hikes\n6:39 OpenAI acquires TBPN \n7:36 SpaceX IPO banks must use Grok\n8:17 CRISPR gene editing to treat sickle cell illness", "duration" => 552, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e040700 - Something Ain't Right....mkv", "id" => "OLf_pUjN-8o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OLf_pUjN-8o", "playlist_index" => 5, "timestamp" => 1775526796, "title" => "Something Ain't Right...", "upload_date" => "20260407"} 01:03:22.730 [debug] QUERY OK source="sources" db=0.3ms idle=769.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:03:22.731 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=770.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:22.734 [debug] QUERY OK source="media_items" db=3.6ms idle=770.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-07 01:53:16Z], 5] 01:03:22.737 [debug] QUERY OK source="media_items" db=1.5ms idle=774.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://shortlinus.com for all your case, screen protector, and overpriced sticker needs. \n\nNEWS SOURCES: https://lmg.gg/h1slF\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 Here's tech news molded into a bunny shape\n0:12 Chinese RAM cheap, but Samsung ups price\n1:31 Artemis II completes lunar fly-by\n2:59 LinkedIn 'Browsergate'\n5:07 QUICK BITS INTRO\n5:16 Nvidia Neural Texture compression\n6:03 Italian courts invalidates Netflix price hikes\n6:39 OpenAI acquires TBPN \n7:36 SpaceX IPO banks must use Grok\n8:17 CRISPR gene editing to treat sickle cell illness", "Something Ain't Right...", "19717ed7-23d4-4c43-b582-b4692b8c71c6", 5, [], 552, false, "OLf_pUjN-8o", "https://www.youtube.com/watch?v=OLf_pUjN-8o", 5, "/downloads/shows/TechLinked/Season 2026/s2026e040700 - Something Ain't Right....mkv", false, false, false, 98, ~U[2026-04-07 01:53:16Z], ~U[2026-04-16 23:03:22Z], ~U[2026-04-16 23:03:22Z], "Go to https://shortlinus.com for all your case, screen protector, and overpriced sticker needs. \n\nNEWS SOURCES: https://lmg.gg/h1slF\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 Here's tech news molded into a bunny shape\n0:12 Chinese RAM cheap, but Samsung ups price\n1:31 Artemis II completes lunar fly-by\n2:59 LinkedIn 'Browsergate'\n5:07 QUICK BITS INTRO\n5:16 Nvidia Neural Texture compression\n6:03 Italian courts invalidates Netflix price hikes\n6:39 OpenAI acquires TBPN \n7:36 SpaceX IPO banks must use Grok\n8:17 CRISPR gene editing to treat sickle cell illness", "Something Ain't Right...", 5, 552, false, "OLf_pUjN-8o", "https://www.youtube.com/watch?v=OLf_pUjN-8o", "/downloads/shows/TechLinked/Season 2026/s2026e040700 - Something Ain't Right....mkv", false, ~U[2026-04-07 01:53:16Z]] 01:03:22.737 [debug] QUERY OK source="sources" db=0.3ms idle=68.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:22.738 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 01:03:22.739 [debug] QUERY OK source="media_items" db=0.5ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [159160] 01:03:22.739 [debug] Current batch of media processed. Will check again in 1000ms 01:03:23.740 [debug] Current batch of media processed. Will check again in 1000ms 01:03:24.741 [debug] Current batch of media processed. Will check again in 1000ms 01:03:25.742 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "We're all Born Private, and it should stay that way. Create a free account with Proton Mail - https://proton.me/techlinked\n\nNEWS SOURCES: https://lmg.gg/HJ1NI\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 HAHAHAHAHA FUN\n0:15 Big Tech under threat\n1:52 AI putting Open Source at risk\n3:31 April Fool's Roundup\n6:34 QUICK BITS INTRO\n6:49 Claude Code source code leak\n7:37 Artemis II lunar mission launch\n8:17 Oracle fires thousands of workers\n9:08 Baidu robotaxis freeze on roads\n9:59 Memory chips that work at 700 degrees", "duration" => 661, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e040200 - Tech is in Trouble.mkv", "id" => "8SWKso_L7CM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8SWKso_L7CM", "playlist_index" => 6, "timestamp" => 1775100575, "title" => "Tech is in Trouble", "upload_date" => "20260402"} 01:03:25.743 [debug] QUERY OK source="sources" db=0.2ms idle=1782.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:03:25.743 [debug] QUERY OK source="sources" db=0.1ms idle=1782.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:25.747 [debug] QUERY OK source="media_items" db=3.7ms idle=1783.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-02 03:29:35Z], 5] 01:03:25.749 [debug] QUERY OK source="media_items" db=1.0ms idle=1065.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["We're all Born Private, and it should stay that way. Create a free account with Proton Mail - https://proton.me/techlinked\n\nNEWS SOURCES: https://lmg.gg/HJ1NI\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 HAHAHAHAHA FUN\n0:15 Big Tech under threat\n1:52 AI putting Open Source at risk\n3:31 April Fool's Roundup\n6:34 QUICK BITS INTRO\n6:49 Claude Code source code leak\n7:37 Artemis II lunar mission launch\n8:17 Oracle fires thousands of workers\n9:08 Baidu robotaxis freeze on roads\n9:59 Memory chips that work at 700 degrees", "Tech is in Trouble", "76d136b7-cd30-4dec-9371-0fd76e318c93", 5, [], 661, false, "8SWKso_L7CM", "https://www.youtube.com/watch?v=8SWKso_L7CM", 6, "/downloads/shows/TechLinked/Season 2026/s2026e040200 - Tech is in Trouble.mkv", false, false, false, 98, ~U[2026-04-02 03:29:35Z], ~U[2026-04-16 23:03:25Z], ~U[2026-04-16 23:03:25Z], "We're all Born Private, and it should stay that way. Create a free account with Proton Mail - https://proton.me/techlinked\n\nNEWS SOURCES: https://lmg.gg/HJ1NI\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 HAHAHAHAHA FUN\n0:15 Big Tech under threat\n1:52 AI putting Open Source at risk\n3:31 April Fool's Roundup\n6:34 QUICK BITS INTRO\n6:49 Claude Code source code leak\n7:37 Artemis II lunar mission launch\n8:17 Oracle fires thousands of workers\n9:08 Baidu robotaxis freeze on roads\n9:59 Memory chips that work at 700 degrees", "Tech is in Trouble", 5, 661, false, "8SWKso_L7CM", "https://www.youtube.com/watch?v=8SWKso_L7CM", "/downloads/shows/TechLinked/Season 2026/s2026e040200 - Tech is in Trouble.mkv", false, ~U[2026-04-02 03:29:35Z]] 01:03:25.750 [debug] QUERY OK source="sources" db=0.2ms idle=65.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:25.750 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:03:25.751 [debug] QUERY OK source="media_items" db=0.2ms idle=7.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [156909] 01:03:25.751 [debug] Current batch of media processed. Will check again in 1000ms 01:03:26.752 [debug] Current batch of media processed. Will check again in 1000ms 01:03:27.753 [debug] Current batch of media processed. Will check again in 1000ms 01:03:28.754 [debug] Current batch of media processed. Will check again in 1000ms 01:03:29.755 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Grab a DeltaHub Carpio wrist rest today at https://go.deltahub.io/techlinked\n\nNEWS SOURCES: https://lmg.gg/NNOSj\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 this is your captain speaking\n0:13 Windows Search improvements on W11\n1:57 The White House App\n3:31 Apple's Swift comes to Android\n5:15 QUICK BITS INTRO\n5:24 Copilot injected ads on GitHub; fixed now?\n5:58 Sony suspends memory card sales\n6:43 AnimePlay app taken down\n7:28 Wi-Fi, 100m underground", "duration" => 510, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e033100 - They’re Finally Fixing It!.mkv", "id" => "podGRTAac_Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=podGRTAac_Q", "playlist_index" => 7, "timestamp" => 1774923971, "title" => "They’re Finally Fixing It!", "upload_date" => "20260331"} 01:03:29.756 [debug] QUERY OK source="sources" db=0.5ms idle=795.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:03:29.757 [debug] QUERY OK source="sources" db=0.3ms queue=0.4ms idle=796.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:29.762 [debug] QUERY OK source="media_items" db=3.9ms idle=797.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-31 02:26:11Z], 5] 01:03:29.764 [debug] QUERY OK source="media_items" db=1.1ms idle=801.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Grab a DeltaHub Carpio wrist rest today at https://go.deltahub.io/techlinked\n\nNEWS SOURCES: https://lmg.gg/NNOSj\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 this is your captain speaking\n0:13 Windows Search improvements on W11\n1:57 The White House App\n3:31 Apple's Swift comes to Android\n5:15 QUICK BITS INTRO\n5:24 Copilot injected ads on GitHub; fixed now?\n5:58 Sony suspends memory card sales\n6:43 AnimePlay app taken down\n7:28 Wi-Fi, 100m underground", "They’re Finally Fixing It!", "46cb75fb-c49e-4efc-82db-a24b99daf54c", 5, [], 510, false, "podGRTAac_Q", "https://www.youtube.com/watch?v=podGRTAac_Q", 7, "/downloads/shows/TechLinked/Season 2026/s2026e033100 - They’re Finally Fixing It!.mkv", false, false, false, 98, ~U[2026-03-31 02:26:11Z], ~U[2026-04-16 23:03:29Z], ~U[2026-04-16 23:03:29Z], "Grab a DeltaHub Carpio wrist rest today at https://go.deltahub.io/techlinked\n\nNEWS SOURCES: https://lmg.gg/NNOSj\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 this is your captain speaking\n0:13 Windows Search improvements on W11\n1:57 The White House App\n3:31 Apple's Swift comes to Android\n5:15 QUICK BITS INTRO\n5:24 Copilot injected ads on GitHub; fixed now?\n5:58 Sony suspends memory card sales\n6:43 AnimePlay app taken down\n7:28 Wi-Fi, 100m underground", "They’re Finally Fixing It!", 5, 510, false, "podGRTAac_Q", "https://www.youtube.com/watch?v=podGRTAac_Q", "/downloads/shows/TechLinked/Season 2026/s2026e033100 - They’re Finally Fixing It!.mkv", false, ~U[2026-03-31 02:26:11Z]] 01:03:29.764 [debug] QUERY OK source="sources" db=0.4ms idle=61.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:29.765 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:03:29.766 [debug] QUERY OK source="media_items" db=0.4ms queue=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [155929] 01:03:29.766 [debug] Current batch of media processed. Will check again in 1000ms 01:03:30.767 [debug] Current batch of media processed. Will check again in 1000ms 01:03:31.763 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9HaPgJt9SDo --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/shows/TechLinked/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor,interaction --output /downloads/shows/TechLinked/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S99 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f2/3c/f23cc5efa372e0db22d388de91e0675c0042086f7e9c4261744a145bef50fc66.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:03:31.768 [debug] Current batch of media processed. Will check again in 1000ms 01:03:31.815 [debug] Running yt-dlp command for action: download_thumbnail 01:03:31.818 [debug] QUERY OK source="settings" db=0.6ms queue=0.2ms idle=857.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:03:31.819 [debug] QUERY OK source="settings" db=0.5ms queue=0.4ms idle=858.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:03:31.820 [debug] QUERY OK source="settings" db=0.8ms idle=859.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:03:31.821 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9HaPgJt9SDo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/163554/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/0c/33/0c3308e1c029fb4d17b0ad8e8b41b3052eb5dcfb19c387808b5f2d1e840af09b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:03:31.943 [info] {"source":"oban","duration":1527,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:03:32.769 [debug] Current batch of media processed. Will check again in 1000ms 01:03:33.770 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "One pair for everyday and everywhere. Vessi claim their Weekend Neo is waterproof, lightweight, and built for daily wear and travel. \n✨ Grab 15% off your first pair here: https://vessi.com/techlinked\n• Free shipping • 30‑day returns • 1‑year warranty\n\nNEWS SOURCES: https://lmg.gg/bZeGh\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 who knows what tech is, really\n0:11 Google TurboQuant could help RAM crisis\n2:04 Apple discontinues Mac Pro\n3:35 Ryzen 9 9950X3D2\n5:49 QUICK BITS INTRO\n5:57 RCS 4.0 brings video calling\n6:37 Apple gives FBI user email\n7:34 PS5 price hikes, again\n8:09 Wikipedia bans AI articles\n8:45 Delivery robot smashes glass", "duration" => 577, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e032800 - The End Is In Sight!?.mkv", "id" => "Y774dmdl5nA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Y774dmdl5nA", "playlist_index" => 8, "timestamp" => 1774670352, "title" => "The End Is In Sight!?", "upload_date" => "20260328"} 01:03:33.771 [debug] QUERY OK source="sources" db=0.2ms idle=810.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:03:33.771 [debug] QUERY OK source="sources" db=0.1ms idle=810.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:33.775 [debug] QUERY OK source="media_items" db=3.4ms idle=811.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-28 03:59:12Z], 5] 01:03:33.777 [debug] QUERY OK source="media_items" db=1.0ms idle=815.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["One pair for everyday and everywhere. Vessi claim their Weekend Neo is waterproof, lightweight, and built for daily wear and travel. \n✨ Grab 15% off your first pair here: https://vessi.com/techlinked\n• Free shipping • 30‑day returns • 1‑year warranty\n\nNEWS SOURCES: https://lmg.gg/bZeGh\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 who knows what tech is, really\n0:11 Google TurboQuant could help RAM crisis\n2:04 Apple discontinues Mac Pro\n3:35 Ryzen 9 9950X3D2\n5:49 QUICK BITS INTRO\n5:57 RCS 4.0 brings video calling\n6:37 Apple gives FBI user email\n7:34 PS5 price hikes, again\n8:09 Wikipedia bans AI articles\n8:45 Delivery robot smashes glass", "The End Is In Sight!?", "f607738a-3b34-48de-ae38-1fde06b5dc06", 5, [], 577, false, "Y774dmdl5nA", "https://www.youtube.com/watch?v=Y774dmdl5nA", 8, "/downloads/shows/TechLinked/Season 2026/s2026e032800 - The End Is In Sight!?.mkv", false, false, false, 98, ~U[2026-03-28 03:59:12Z], ~U[2026-04-16 23:03:33Z], ~U[2026-04-16 23:03:33Z], "One pair for everyday and everywhere. Vessi claim their Weekend Neo is waterproof, lightweight, and built for daily wear and travel. \n✨ Grab 15% off your first pair here: https://vessi.com/techlinked\n• Free shipping • 30‑day returns • 1‑year warranty\n\nNEWS SOURCES: https://lmg.gg/bZeGh\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 who knows what tech is, really\n0:11 Google TurboQuant could help RAM crisis\n2:04 Apple discontinues Mac Pro\n3:35 Ryzen 9 9950X3D2\n5:49 QUICK BITS INTRO\n5:57 RCS 4.0 brings video calling\n6:37 Apple gives FBI user email\n7:34 PS5 price hikes, again\n8:09 Wikipedia bans AI articles\n8:45 Delivery robot smashes glass", "The End Is In Sight!?", 5, 577, false, "Y774dmdl5nA", "https://www.youtube.com/watch?v=Y774dmdl5nA", "/downloads/shows/TechLinked/Season 2026/s2026e032800 - The End Is In Sight!?.mkv", false, ~U[2026-03-28 03:59:12Z]] 01:03:33.777 [debug] QUERY OK source="sources" db=0.1ms idle=66.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:33.778 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 01:03:33.778 [debug] QUERY OK source="media_items" db=0.2ms idle=6.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [154511] 01:03:33.778 [debug] Current batch of media processed. Will check again in 1000ms 01:03:34.779 [debug] Current batch of media processed. Will check again in 1000ms 01:03:35.780 [debug] Current batch of media processed. Will check again in 1000ms 01:03:36.781 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Visit https://www.squarespace.com/techlinked and use offer code techlinked for 10% off your first purchase.\n\nNEWS SOURCES: https://lmg.gg/s0So6\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 resisted Foghorn Leghorn voice\n0:14 OpenAI shuts down Sora, Disney deal off\n2:00 Meta, YouTube landmark rulings\n4:00 Arm AGI CPU\n6:23 QUICK BITS INTRO\n6:38 Intel Arc Pro B70, B65 BATTLEMAGE\n7:28 Wine 11 massively boosts Linux gaming\n8:17 Ayaneo pulls NEXT 2 handheld from sale\n8:57 FCC ban on foreign-made routers \n9:40 Touchscreen-compatible nail polish", "duration" => 670, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e032600 - Well, So Much For Sora!.mkv", "id" => "nyHM__Jc2sY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nyHM__Jc2sY", "playlist_index" => 9, "timestamp" => 1774495856, "title" => "Well, So Much For Sora!", "upload_date" => "20260326"} 01:03:36.782 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1821.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:03:36.783 [debug] QUERY OK source="sources" db=0.5ms queue=0.4ms idle=1822.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:36.788 [debug] QUERY OK source="media_items" db=3.8ms queue=0.4ms idle=1823.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-26 03:30:56Z], 5] 01:03:36.790 [debug] QUERY OK source="media_items" db=1.3ms idle=1074.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://www.squarespace.com/techlinked and use offer code techlinked for 10% off your first purchase.\n\nNEWS SOURCES: https://lmg.gg/s0So6\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 resisted Foghorn Leghorn voice\n0:14 OpenAI shuts down Sora, Disney deal off\n2:00 Meta, YouTube landmark rulings\n4:00 Arm AGI CPU\n6:23 QUICK BITS INTRO\n6:38 Intel Arc Pro B70, B65 BATTLEMAGE\n7:28 Wine 11 massively boosts Linux gaming\n8:17 Ayaneo pulls NEXT 2 handheld from sale\n8:57 FCC ban on foreign-made routers \n9:40 Touchscreen-compatible nail polish", "Well, So Much For Sora!", "8b63ff83-a2c4-4f5e-8bdf-bf2cae458afe", 5, [], 670, false, "nyHM__Jc2sY", "https://www.youtube.com/watch?v=nyHM__Jc2sY", 9, "/downloads/shows/TechLinked/Season 2026/s2026e032600 - Well, So Much For Sora!.mkv", false, false, false, 98, ~U[2026-03-26 03:30:56Z], ~U[2026-04-16 23:03:36Z], ~U[2026-04-16 23:03:36Z], "Visit https://www.squarespace.com/techlinked and use offer code techlinked for 10% off your first purchase.\n\nNEWS SOURCES: https://lmg.gg/s0So6\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 resisted Foghorn Leghorn voice\n0:14 OpenAI shuts down Sora, Disney deal off\n2:00 Meta, YouTube landmark rulings\n4:00 Arm AGI CPU\n6:23 QUICK BITS INTRO\n6:38 Intel Arc Pro B70, B65 BATTLEMAGE\n7:28 Wine 11 massively boosts Linux gaming\n8:17 Ayaneo pulls NEXT 2 handheld from sale\n8:57 FCC ban on foreign-made routers \n9:40 Touchscreen-compatible nail polish", "Well, So Much For Sora!", 5, 670, false, "nyHM__Jc2sY", "https://www.youtube.com/watch?v=nyHM__Jc2sY", "/downloads/shows/TechLinked/Season 2026/s2026e032600 - Well, So Much For Sora!.mkv", false, ~U[2026-03-26 03:30:56Z]] 01:03:36.791 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=74.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:36.792 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.4ms idle=8.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:03:36.793 [debug] QUERY OK source="media_items" db=0.4ms 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 [153529] 01:03:36.793 [debug] Current batch of media processed. Will check again in 1000ms 01:03:37.666 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=9HaPgJt9SDo --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/163554/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/0c/33/0c3308e1c029fb4d17b0ad8e8b41b3052eb5dcfb19c387808b5f2d1e840af09b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 01:03:37.667 [debug] QUERY OK db=0.0ms idle=878.9ms begin [] 01:03:37.672 [debug] QUERY OK source="media_items" db=4.3ms UPDATE "media_items" SET "duration_seconds" = ?, "media_downloaded_at" = ?, "media_filepath" = ?, "nfo_filepath" = ?, "predicted_media_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [425, ~U[2026-04-16 23:03:31Z], "/downloads/shows/TechLinked/Season 2026/s2026e041699 - We’re Losing the Web.mp4", "/downloads/shows/TechLinked/Season 2026/s2026e041699 - We’re Losing the Web.nfo", "/downloads/shows/TechLinked/Season 2026/s2026e041699 - We’re Losing the Web.mkv", "/downloads/shows/TechLinked/Season 2026/s2026e041699 - We’re Losing the Web-thumb.jpg", ~U[2026-04-16 23:03:37Z], 163554] 01:03:37.674 [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/163554/metadata.json.gz", "/config/metadata/media_items/163554/thumbnail.jpg", 163554, ~U[2026-04-16 23:03:37Z], ~U[2026-04-16 23:03:37Z]] 01:03:37.674 [debug] QUERY OK db=0.2ms commit [] 01:03:37.676 [debug] QUERY OK source="media_items" db=0.9ms idle=884.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [240736335, ~U[2026-04-16 23:03:37Z], 163554] 01:03:37.676 [info] User scripts lifecyle file either not present or is empty. Skipping. 01:03:37.676 [info] {"args":{"id":163554},"id":4849,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":28995124,"event":"job:stop","queue_time":680389,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 01:03:37.794 [debug] Current batch of media processed. Will check again in 1000ms 01:03:38.795 [debug] Current batch of media processed. Will check again in 1000ms 01:03:39.796 [debug] Current batch of media processed. Will check again in 1000ms 01:03:40.797 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get the transparency you deserve and make sure you see the whole story with Ground News. Subscribe to their Vantage plan today and save 40% with our link: https://ground.news/techlinked\n\nNEWS SOURCES: https://lmg.gg/v9Lr2\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 come on, doctor's orders\n0:13 Intel Core Ultra 270K Plus, 250K Plus\n1:31 Win11 glitches but it'll get better\n3:00 National AI Legislative Framework\n5:17 QUICK BITS INTRO\n5:27 Galaxy S26 series AirDrop support\n5:56 GrapheneOS no personal information \n6:27 Crunchroll hack\n7:02 Modular, indestructible robot", "duration" => 480, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e032400 - Intel Ain't Playin' Anymore..mkv", "id" => "y7BI1RNDjIs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=y7BI1RNDjIs", "playlist_index" => 10, "timestamp" => 1774321657, "title" => "Intel Ain't Playin' Anymore.", "upload_date" => "20260324"} 01:03:40.798 [debug] QUERY OK source="sources" db=0.2ms idle=1837.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:03:40.798 [debug] QUERY OK source="sources" db=0.2ms idle=1837.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:40.802 [debug] QUERY OK source="media_items" db=3.4ms idle=1838.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-24 03:07:37Z], 5] 01:03:40.804 [debug] QUERY OK source="media_items" db=1.0ms idle=1083.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get the transparency you deserve and make sure you see the whole story with Ground News. Subscribe to their Vantage plan today and save 40% with our link: https://ground.news/techlinked\n\nNEWS SOURCES: https://lmg.gg/v9Lr2\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 come on, doctor's orders\n0:13 Intel Core Ultra 270K Plus, 250K Plus\n1:31 Win11 glitches but it'll get better\n3:00 National AI Legislative Framework\n5:17 QUICK BITS INTRO\n5:27 Galaxy S26 series AirDrop support\n5:56 GrapheneOS no personal information \n6:27 Crunchroll hack\n7:02 Modular, indestructible robot", "Intel Ain't Playin' Anymore.", "5569478f-601c-4047-87a0-fe5b82407c42", 5, [], 480, false, "y7BI1RNDjIs", "https://www.youtube.com/watch?v=y7BI1RNDjIs", 10, "/downloads/shows/TechLinked/Season 2026/s2026e032400 - Intel Ain't Playin' Anymore..mkv", false, false, false, 98, ~U[2026-03-24 03:07:37Z], ~U[2026-04-16 23:03:40Z], ~U[2026-04-16 23:03:40Z], "Get the transparency you deserve and make sure you see the whole story with Ground News. Subscribe to their Vantage plan today and save 40% with our link: https://ground.news/techlinked\n\nNEWS SOURCES: https://lmg.gg/v9Lr2\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 come on, doctor's orders\n0:13 Intel Core Ultra 270K Plus, 250K Plus\n1:31 Win11 glitches but it'll get better\n3:00 National AI Legislative Framework\n5:17 QUICK BITS INTRO\n5:27 Galaxy S26 series AirDrop support\n5:56 GrapheneOS no personal information \n6:27 Crunchroll hack\n7:02 Modular, indestructible robot", "Intel Ain't Playin' Anymore.", 5, 480, false, "y7BI1RNDjIs", "https://www.youtube.com/watch?v=y7BI1RNDjIs", "/downloads/shows/TechLinked/Season 2026/s2026e032400 - Intel Ain't Playin' Anymore..mkv", false, ~U[2026-03-24 03:07:37Z]] 01:03:40.804 [debug] QUERY OK source="sources" db=0.3ms idle=84.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:40.805 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 01:03:40.806 [debug] QUERY OK source="media_items" db=0.3ms idle=6.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [152558] 01:03:40.806 [debug] Current batch of media processed. Will check again in 1000ms 01:03:41.806 [debug] Current batch of media processed. Will check again in 1000ms 01:03:42.807 [debug] Current batch of media processed. Will check again in 1000ms 01:03:43.808 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get a 15% discount on Saily eSIM data plans! Download the Saily app and use code TECHLINKED at checkout. Or go to https://saily.com/techlinked\n\nNEWS SOURCES: https://lmg.gg/fwQbj\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 do u ever feel like a muppet\n0:11 Google Search AI editing headlines\n2:00 Super Micro co-founder smuggling charges\n3:47 Android sideloading 24-hour wait period\n6:09 QUICK BITS INTRO \n6:25 Meta Horizon Worlds VR stays alive\n7:14 multi-country botnet takedown\n8:14 Musician indicted for AI music fraud\n9:08 DLSS 5 only sees 2D frame, thanks Daniel Owen\n10:09 Cyborg cockroaches", "duration" => 671, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e032100 - Thanks Google, Much Better.mkv", "id" => "eMKsn_OlC1w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eMKsn_OlC1w", "playlist_index" => 11, "timestamp" => 1774070739, "title" => "Thanks Google, Much Better", "upload_date" => "20260321"} 01:03:43.809 [debug] QUERY OK source="sources" db=0.2ms idle=1848.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:03:43.809 [debug] QUERY OK source="sources" db=0.1ms idle=1848.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:43.813 [debug] QUERY OK source="media_items" db=3.3ms queue=0.4ms idle=1849.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-21 05:25:39Z], 5] 01:03:43.816 [debug] QUERY OK source="media_items" db=1.0ms idle=1091.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get a 15% discount on Saily eSIM data plans! Download the Saily app and use code TECHLINKED at checkout. Or go to https://saily.com/techlinked\n\nNEWS SOURCES: https://lmg.gg/fwQbj\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 do u ever feel like a muppet\n0:11 Google Search AI editing headlines\n2:00 Super Micro co-founder smuggling charges\n3:47 Android sideloading 24-hour wait period\n6:09 QUICK BITS INTRO \n6:25 Meta Horizon Worlds VR stays alive\n7:14 multi-country botnet takedown\n8:14 Musician indicted for AI music fraud\n9:08 DLSS 5 only sees 2D frame, thanks Daniel Owen\n10:09 Cyborg cockroaches", "Thanks Google, Much Better", "f154ffae-82dc-40a9-a266-5265bbe28316", 5, [], 671, false, "eMKsn_OlC1w", "https://www.youtube.com/watch?v=eMKsn_OlC1w", 11, "/downloads/shows/TechLinked/Season 2026/s2026e032100 - Thanks Google, Much Better.mkv", false, false, false, 98, ~U[2026-03-21 05:25:39Z], ~U[2026-04-16 23:03:43Z], ~U[2026-04-16 23:03:43Z], "Get a 15% discount on Saily eSIM data plans! Download the Saily app and use code TECHLINKED at checkout. Or go to https://saily.com/techlinked\n\nNEWS SOURCES: https://lmg.gg/fwQbj\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 do u ever feel like a muppet\n0:11 Google Search AI editing headlines\n2:00 Super Micro co-founder smuggling charges\n3:47 Android sideloading 24-hour wait period\n6:09 QUICK BITS INTRO \n6:25 Meta Horizon Worlds VR stays alive\n7:14 multi-country botnet takedown\n8:14 Musician indicted for AI music fraud\n9:08 DLSS 5 only sees 2D frame, thanks Daniel Owen\n10:09 Cyborg cockroaches", "Thanks Google, Much Better", 5, 671, false, "eMKsn_OlC1w", "https://www.youtube.com/watch?v=eMKsn_OlC1w", "/downloads/shows/TechLinked/Season 2026/s2026e032100 - Thanks Google, Much Better.mkv", false, ~U[2026-03-21 05:25:39Z]] 01:03:43.816 [debug] QUERY OK source="sources" db=0.2ms idle=92.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:43.817 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:03:43.817 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [151155] 01:03:43.817 [debug] Current batch of media processed. Will check again in 1000ms 01:03:44.818 [debug] Current batch of media processed. Will check again in 1000ms 01:03:45.819 [debug] Current batch of media processed. Will check again in 1000ms 01:03:46.820 [debug] Current batch of media processed. Will check again in 1000ms 01:03:47.821 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "If you want to skip the hassle of researching, buying, and building a gaming PC for yourself, buy one from one of Jawa’s Verified Sellers! Visit https://jawa.link/TLMar26 to get started.\n\nNEWS SOURCES: https://lmg.gg/TM8W1\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 DLSS 5 haters are 'completely wrong' - Jensen\n3:02 AMD responds to Ryzen mislabeling\n5:43 QUICK BITS INTRO\n5:51 Intel Core Ultra 200HX Plus, precompiled shaders\n6:25 Mozilla Firefox VPN\n7:05 free Gemini Personal Intelligence \n7:40 Samsung discontinues Galaxy Z Trifold\n8:42 3D-printed shoulder-mounted launcher", "duration" => 583, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e031900 - Everyone's Wrong About DLSS 5.mkv", "id" => "G332-qMENpA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=G332-qMENpA", "playlist_index" => 12, "timestamp" => 1773888429, "title" => "Everyone's Wrong About DLSS 5", "upload_date" => "20260319"} 01:03:47.822 [debug] QUERY OK source="sources" db=0.2ms idle=861.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:03:47.822 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=862.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:47.826 [debug] QUERY OK source="media_items" db=3.4ms idle=862.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-19 02:47:09Z], 5] 01:03:47.835 [debug] QUERY OK source="media_items" db=7.6ms idle=866.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["If you want to skip the hassle of researching, buying, and building a gaming PC for yourself, buy one from one of Jawa’s Verified Sellers! Visit https://jawa.link/TLMar26 to get started.\n\nNEWS SOURCES: https://lmg.gg/TM8W1\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 DLSS 5 haters are 'completely wrong' - Jensen\n3:02 AMD responds to Ryzen mislabeling\n5:43 QUICK BITS INTRO\n5:51 Intel Core Ultra 200HX Plus, precompiled shaders\n6:25 Mozilla Firefox VPN\n7:05 free Gemini Personal Intelligence \n7:40 Samsung discontinues Galaxy Z Trifold\n8:42 3D-printed shoulder-mounted launcher", "Everyone's Wrong About DLSS 5", "e78fd1d2-da2b-486c-a073-072072a7db85", 5, [], 583, false, "G332-qMENpA", "https://www.youtube.com/watch?v=G332-qMENpA", 12, "/downloads/shows/TechLinked/Season 2026/s2026e031900 - Everyone's Wrong About DLSS 5.mkv", false, false, false, 98, ~U[2026-03-19 02:47:09Z], ~U[2026-04-16 23:03:47Z], ~U[2026-04-16 23:03:47Z], "If you want to skip the hassle of researching, buying, and building a gaming PC for yourself, buy one from one of Jawa’s Verified Sellers! Visit https://jawa.link/TLMar26 to get started.\n\nNEWS SOURCES: https://lmg.gg/TM8W1\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 DLSS 5 haters are 'completely wrong' - Jensen\n3:02 AMD responds to Ryzen mislabeling\n5:43 QUICK BITS INTRO\n5:51 Intel Core Ultra 200HX Plus, precompiled shaders\n6:25 Mozilla Firefox VPN\n7:05 free Gemini Personal Intelligence \n7:40 Samsung discontinues Galaxy Z Trifold\n8:42 3D-printed shoulder-mounted launcher", "Everyone's Wrong About DLSS 5", 5, 583, false, "G332-qMENpA", "https://www.youtube.com/watch?v=G332-qMENpA", "/downloads/shows/TechLinked/Season 2026/s2026e031900 - Everyone's Wrong About DLSS 5.mkv", false, ~U[2026-03-19 02:47:09Z]] 01:03:47.835 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=105.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:47.836 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:03:47.836 [debug] QUERY OK source="media_items" db=0.2ms idle=13.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 [150182] 01:03:47.836 [debug] Current batch of media processed. Will check again in 1000ms 01:03:48.837 [debug] Current batch of media processed. Will check again in 1000ms 01:03:49.838 [debug] Current batch of media processed. Will check again in 1000ms 01:03:50.839 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/iUSvu\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 just give James a second\n0:13 Nvidia DLSS 5 looks a bit... sloppy\n1:50 Win11 C: drive bug on Samsung PCs\n3:13 ASRock motherboard with DDR4 + DDR5 slots\n5:50 QUICK BITS INTRO\n6:02 Apple Airpods Max 2\n6:39 Xbox One 'Bliss' Hack\n7:23 Instagram loses E2E encryption\n8:06 Pokemon Go helping delivery bots\n8:45 Antec Flux Pro Noctua Edition tease", "duration" => 576, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e031700 - Please, Make It Slop - DLSS 5.mkv", "id" => "YoGoayBUR-Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=YoGoayBUR-Y", "playlist_index" => 13, "timestamp" => 1773712897, "title" => "Please, Make It Slop - DLSS 5", "upload_date" => "20260317"} 01:03:50.840 [debug] QUERY OK source="sources" db=0.2ms idle=1879.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:03:50.841 [debug] QUERY OK source="sources" db=0.1ms idle=1880.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:50.845 [debug] QUERY OK source="media_items" db=3.7ms idle=1881.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 02:01:37Z], 5] 01:03:50.849 [debug] QUERY OK source="media_items" db=2.6ms idle=1112.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/iUSvu\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 just give James a second\n0:13 Nvidia DLSS 5 looks a bit... sloppy\n1:50 Win11 C: drive bug on Samsung PCs\n3:13 ASRock motherboard with DDR4 + DDR5 slots\n5:50 QUICK BITS INTRO\n6:02 Apple Airpods Max 2\n6:39 Xbox One 'Bliss' Hack\n7:23 Instagram loses E2E encryption\n8:06 Pokemon Go helping delivery bots\n8:45 Antec Flux Pro Noctua Edition tease", "Please, Make It Slop - DLSS 5", "ebd19db5-11ee-4768-860e-5a689c50128f", 5, [], 576, false, "YoGoayBUR-Y", "https://www.youtube.com/watch?v=YoGoayBUR-Y", 13, "/downloads/shows/TechLinked/Season 2026/s2026e031700 - Please, Make It Slop - DLSS 5.mkv", false, false, false, 98, ~U[2026-03-17 02:01:37Z], ~U[2026-04-16 23:03:50Z], ~U[2026-04-16 23:03:50Z], "Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/iUSvu\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 just give James a second\n0:13 Nvidia DLSS 5 looks a bit... sloppy\n1:50 Win11 C: drive bug on Samsung PCs\n3:13 ASRock motherboard with DDR4 + DDR5 slots\n5:50 QUICK BITS INTRO\n6:02 Apple Airpods Max 2\n6:39 Xbox One 'Bliss' Hack\n7:23 Instagram loses E2E encryption\n8:06 Pokemon Go helping delivery bots\n8:45 Antec Flux Pro Noctua Edition tease", "Please, Make It Slop - DLSS 5", 5, 576, false, "YoGoayBUR-Y", "https://www.youtube.com/watch?v=YoGoayBUR-Y", "/downloads/shows/TechLinked/Season 2026/s2026e031700 - Please, Make It Slop - DLSS 5.mkv", false, ~U[2026-03-17 02:01:37Z]] 01:03:50.849 [debug] QUERY OK source="sources" db=0.2ms idle=114.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:50.850 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:03:50.850 [debug] QUERY OK source="media_items" db=0.3ms idle=8.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [149217] 01:03:50.850 [debug] Current batch of media processed. Will check again in 1000ms 01:03:51.851 [debug] Current batch of media processed. Will check again in 1000ms 01:03:52.852 [debug] Current batch of media processed. Will check again in 1000ms 01:03:53.853 [debug] Current batch of media processed. Will check again in 1000ms 01:03:54.854 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to Laifen for sponsoring this video! Grab your Wave Pro Toothbrush below!\n\nLaifen Official Website: https://bit.ly/4sl4Jg6 \nAmazon: https://bit.ly/4u8CT8O\n\nNEWS SOURCES: https://lmg.gg/EURPm\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 little freeloaders\n0:12 Firefox keeping Win7 alive, for a bit\n1:31 FBI investigates Steam malware\n3:31 Stryker Corporation cyberattack\n6:38 QUICK BITS INTRO\n6:56 Google Maps update\n7:32 GFiber merges with Astound Broadband\n8:20 Telus Digital data breach\n9:19 Cybertruck FSD lawsuit\n10:35 Alexa+ 'Sassy' mode", "duration" => 705, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e031400 - Windows 7 LIVES?? …….(for a few more months??).mkv", "id" => "xfiOFKVvnw8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xfiOFKVvnw8", "playlist_index" => 14, "timestamp" => 1773461172, "title" => "Windows 7 LIVES?? …….(for a few more months??)", "upload_date" => "20260314"} 01:03:54.855 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=894.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:03:54.856 [debug] QUERY OK source="sources" db=0.6ms idle=895.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:54.860 [debug] QUERY OK source="media_items" db=3.9ms idle=896.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-14 04:06:12Z], 5] 01:03:54.862 [debug] QUERY OK source="media_items" db=1.1ms idle=900.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Laifen for sponsoring this video! Grab your Wave Pro Toothbrush below!\n\nLaifen Official Website: https://bit.ly/4sl4Jg6 \nAmazon: https://bit.ly/4u8CT8O\n\nNEWS SOURCES: https://lmg.gg/EURPm\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 little freeloaders\n0:12 Firefox keeping Win7 alive, for a bit\n1:31 FBI investigates Steam malware\n3:31 Stryker Corporation cyberattack\n6:38 QUICK BITS INTRO\n6:56 Google Maps update\n7:32 GFiber merges with Astound Broadband\n8:20 Telus Digital data breach\n9:19 Cybertruck FSD lawsuit\n10:35 Alexa+ 'Sassy' mode", "Windows 7 LIVES?? …….(for a few more months??)", "12e893c1-52eb-4918-83df-a03d4c4c2498", 5, [], 705, false, "xfiOFKVvnw8", "https://www.youtube.com/watch?v=xfiOFKVvnw8", 14, "/downloads/shows/TechLinked/Season 2026/s2026e031400 - Windows 7 LIVES?? …….(for a few more months??).mkv", false, false, false, 98, ~U[2026-03-14 04:06:12Z], ~U[2026-04-16 23:03:54Z], ~U[2026-04-16 23:03:54Z], "Thanks to Laifen for sponsoring this video! Grab your Wave Pro Toothbrush below!\n\nLaifen Official Website: https://bit.ly/4sl4Jg6 \nAmazon: https://bit.ly/4u8CT8O\n\nNEWS SOURCES: https://lmg.gg/EURPm\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 little freeloaders\n0:12 Firefox keeping Win7 alive, for a bit\n1:31 FBI investigates Steam malware\n3:31 Stryker Corporation cyberattack\n6:38 QUICK BITS INTRO\n6:56 Google Maps update\n7:32 GFiber merges with Astound Broadband\n8:20 Telus Digital data breach\n9:19 Cybertruck FSD lawsuit\n10:35 Alexa+ 'Sassy' mode", "Windows 7 LIVES?? …….(for a few more months??)", 5, 705, false, "xfiOFKVvnw8", "https://www.youtube.com/watch?v=xfiOFKVvnw8", "/downloads/shows/TechLinked/Season 2026/s2026e031400 - Windows 7 LIVES?? …….(for a few more months??).mkv", false, ~U[2026-03-14 04:06:12Z]] 01:03:54.863 [debug] QUERY OK source="sources" db=0.3ms idle=120.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:54.863 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:03:54.864 [debug] QUERY OK source="media_items" db=0.3ms 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 [147831] 01:03:54.864 [debug] Current batch of media processed. Will check again in 1000ms 01:03:55.865 [debug] Current batch of media processed. Will check again in 1000ms 01:03:56.866 [debug] Current batch of media processed. Will check again in 1000ms 01:03:57.867 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Visit https://www.squarespace.com/techlinked and use offer code techlinked for 10% off your first purchase.\n\nNEWS SOURCES: https://lmg.gg/0l72L\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 we are doing the WORK here\n0:13 YouTube = largest media company?\n2:11 Intel Core Ultra 200S Plus\n3:50 Meta acquires Moltbook\n6:38 QUICK BITS INTRO\n6:49 Macbook Neo reviews\n7:32 Hisense TVs serve ridiculous ads \n8:13 Perplexity AI agents blocked on Amazon\n8:57 Windows 11 update is... GOOD?\n9:42 Lenovo Tab Plus Gen 2 with big speaker", "duration" => 638, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e031200 - What Has YouTube Become?.mkv", "id" => "xab9nkqB8w8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xab9nkqB8w8", "playlist_index" => 15, "timestamp" => 1773286682, "title" => "What Has YouTube Become?", "upload_date" => "20260312"} 01:03:57.868 [debug] QUERY OK source="sources" db=0.2ms idle=1907.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:03:57.868 [debug] QUERY OK source="sources" db=0.1ms idle=1907.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:57.872 [debug] QUERY OK source="media_items" db=3.4ms idle=1908.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-12 03:38:02Z], 5] 01:03:57.873 [debug] QUERY OK source="media_items" db=0.9ms idle=1124.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://www.squarespace.com/techlinked and use offer code techlinked for 10% off your first purchase.\n\nNEWS SOURCES: https://lmg.gg/0l72L\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 we are doing the WORK here\n0:13 YouTube = largest media company?\n2:11 Intel Core Ultra 200S Plus\n3:50 Meta acquires Moltbook\n6:38 QUICK BITS INTRO\n6:49 Macbook Neo reviews\n7:32 Hisense TVs serve ridiculous ads \n8:13 Perplexity AI agents blocked on Amazon\n8:57 Windows 11 update is... GOOD?\n9:42 Lenovo Tab Plus Gen 2 with big speaker", "What Has YouTube Become?", "79099b4d-b2f6-4ad5-84a6-8be7908399d3", 5, [], 638, false, "xab9nkqB8w8", "https://www.youtube.com/watch?v=xab9nkqB8w8", 15, "/downloads/shows/TechLinked/Season 2026/s2026e031200 - What Has YouTube Become?.mkv", false, false, false, 98, ~U[2026-03-12 03:38:02Z], ~U[2026-04-16 23:03:57Z], ~U[2026-04-16 23:03:57Z], "Visit https://www.squarespace.com/techlinked and use offer code techlinked for 10% off your first purchase.\n\nNEWS SOURCES: https://lmg.gg/0l72L\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 we are doing the WORK here\n0:13 YouTube = largest media company?\n2:11 Intel Core Ultra 200S Plus\n3:50 Meta acquires Moltbook\n6:38 QUICK BITS INTRO\n6:49 Macbook Neo reviews\n7:32 Hisense TVs serve ridiculous ads \n8:13 Perplexity AI agents blocked on Amazon\n8:57 Windows 11 update is... GOOD?\n9:42 Lenovo Tab Plus Gen 2 with big speaker", "What Has YouTube Become?", 5, 638, false, "xab9nkqB8w8", "https://www.youtube.com/watch?v=xab9nkqB8w8", "/downloads/shows/TechLinked/Season 2026/s2026e031200 - What Has YouTube Become?.mkv", false, ~U[2026-03-12 03:38:02Z]] 01:03:57.874 [debug] QUERY OK source="sources" db=0.1ms idle=124.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:03:57.874 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:03:57.875 [debug] QUERY OK source="media_items" db=0.2ms idle=6.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [146876] 01:03:57.875 [debug] Current batch of media processed. Will check again in 1000ms 01:03:58.876 [debug] Current batch of media processed. Will check again in 1000ms 01:03:59.877 [debug] Current batch of media processed. Will check again in 1000ms 01:04:00.196 [info] {"source":"oban","duration":237,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:04:00.878 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/H23Bk\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 sorry just how it is\n0:08 Apple HomePad and 'Ultra' products\n1:36 OpenClaw hype continues\n3:27 Nintendo sues US government\n5:54 QUICK BITS INTRO\n6:07 PS5 running Linux\n6:41 Nvidia reviving RTX 3060\n7:17 X finally adds Grok blocker\n8:05 Arduino Ventuo Q\n8:44 UK's first telesurgery", "duration" => 599, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e031000 - Apple: This Is Only the Beginning....mkv", "id" => "Qv1rwKDt2sQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Qv1rwKDt2sQ", "playlist_index" => 16, "timestamp" => 1773113516, "title" => "Apple: This Is Only the Beginning...", "upload_date" => "20260310"} 01:04:00.879 [debug] QUERY OK source="sources" db=0.2ms idle=1918.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:04:00.879 [debug] QUERY OK source="sources" db=0.1ms idle=1918.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:00.883 [debug] QUERY OK source="media_items" db=3.6ms idle=1126.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 03:31:56Z], 5] 01:04:00.885 [debug] QUERY OK source="media_items" db=0.9ms idle=687.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/H23Bk\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 sorry just how it is\n0:08 Apple HomePad and 'Ultra' products\n1:36 OpenClaw hype continues\n3:27 Nintendo sues US government\n5:54 QUICK BITS INTRO\n6:07 PS5 running Linux\n6:41 Nvidia reviving RTX 3060\n7:17 X finally adds Grok blocker\n8:05 Arduino Ventuo Q\n8:44 UK's first telesurgery", "Apple: This Is Only the Beginning...", "7b9d4a74-3590-4535-b053-bff45e5a8621", 5, [], 599, false, "Qv1rwKDt2sQ", "https://www.youtube.com/watch?v=Qv1rwKDt2sQ", 16, "/downloads/shows/TechLinked/Season 2026/s2026e031000 - Apple: This Is Only the Beginning....mkv", false, false, false, 98, ~U[2026-03-10 03:31:56Z], ~U[2026-04-16 23:04:00Z], ~U[2026-04-16 23:04:00Z], "Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/H23Bk\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 sorry just how it is\n0:08 Apple HomePad and 'Ultra' products\n1:36 OpenClaw hype continues\n3:27 Nintendo sues US government\n5:54 QUICK BITS INTRO\n6:07 PS5 running Linux\n6:41 Nvidia reviving RTX 3060\n7:17 X finally adds Grok blocker\n8:05 Arduino Ventuo Q\n8:44 UK's first telesurgery", "Apple: This Is Only the Beginning...", 5, 599, false, "Qv1rwKDt2sQ", "https://www.youtube.com/watch?v=Qv1rwKDt2sQ", "/downloads/shows/TechLinked/Season 2026/s2026e031000 - Apple: This Is Only the Beginning....mkv", false, ~U[2026-03-10 03:31:56Z]] 01:04:00.885 [debug] QUERY OK source="sources" db=0.2ms idle=130.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:00.886 [debug] QUERY OK source="media_profiles" db=0.4ms 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] 01:04:00.886 [debug] QUERY OK source="media_items" db=0.3ms idle=6.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [145923] 01:04:00.887 [debug] Current batch of media processed. Will check again in 1000ms 01:04:01.887 [debug] Current batch of media processed. Will check again in 1000ms 01:04:01.945 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:04:02.888 [debug] Current batch of media processed. Will check again in 1000ms 01:04:03.889 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Thanks to Tello for sponsoring this video! Check out their plans at https://tello.com/?utm_source=partner&utm_medium=cpc&utm_campaign=TechLinked&src=partner&mdm=cpc&cmg=TechLinked\n\nNEWS SOURCES: https://lmg.gg/HpyUt\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 why? is a good question\n0:09 Nvidia GPU monopoly\n2:04 Anthropic to fight Pentagon\n4:51 QUICK BITS INTRO\n5:33 QUICK BITS INTRO\n5:46 Apple blocks ByteDance-owned apps\n6:29 Apple Music adds AI music tags\n7:00 Macbook Neo benchmarks\n7:40 Wikipedia AI translation issues\n8:19 Roblox AI re-phrases bad chats", "duration" => 569, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e030700 - It's Over. Nvidia Won..mkv", "id" => "zbuyfxaAg3U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zbuyfxaAg3U", "playlist_index" => 17, "timestamp" => 1772859934, "title" => "It's Over. Nvidia Won.", "upload_date" => "20260307"} 01:04:03.890 [debug] QUERY OK source="sources" db=0.2ms idle=1929.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:04:03.890 [debug] QUERY OK source="sources" db=0.1ms idle=1929.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:03.894 [debug] QUERY OK source="media_items" db=3.4ms idle=1132.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-07 05:05:34Z], 5] 01:04:03.898 [debug] QUERY OK source="media_items" db=3.5ms idle=934.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Tello for sponsoring this video! Check out their plans at https://tello.com/?utm_source=partner&utm_medium=cpc&utm_campaign=TechLinked&src=partner&mdm=cpc&cmg=TechLinked\n\nNEWS SOURCES: https://lmg.gg/HpyUt\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 why? is a good question\n0:09 Nvidia GPU monopoly\n2:04 Anthropic to fight Pentagon\n4:51 QUICK BITS INTRO\n5:33 QUICK BITS INTRO\n5:46 Apple blocks ByteDance-owned apps\n6:29 Apple Music adds AI music tags\n7:00 Macbook Neo benchmarks\n7:40 Wikipedia AI translation issues\n8:19 Roblox AI re-phrases bad chats", "It's Over. Nvidia Won.", "b08c9371-90b0-4c07-8d30-de01ff6a9b54", 5, [], 569, false, "zbuyfxaAg3U", "https://www.youtube.com/watch?v=zbuyfxaAg3U", 17, "/downloads/shows/TechLinked/Season 2026/s2026e030700 - It's Over. Nvidia Won..mkv", false, false, false, 98, ~U[2026-03-07 05:05:34Z], ~U[2026-04-16 23:04:03Z], ~U[2026-04-16 23:04:03Z], "Thanks to Tello for sponsoring this video! Check out their plans at https://tello.com/?utm_source=partner&utm_medium=cpc&utm_campaign=TechLinked&src=partner&mdm=cpc&cmg=TechLinked\n\nNEWS SOURCES: https://lmg.gg/HpyUt\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 why? is a good question\n0:09 Nvidia GPU monopoly\n2:04 Anthropic to fight Pentagon\n4:51 QUICK BITS INTRO\n5:33 QUICK BITS INTRO\n5:46 Apple blocks ByteDance-owned apps\n6:29 Apple Music adds AI music tags\n7:00 Macbook Neo benchmarks\n7:40 Wikipedia AI translation issues\n8:19 Roblox AI re-phrases bad chats", "It's Over. Nvidia Won.", 5, 569, false, "zbuyfxaAg3U", "https://www.youtube.com/watch?v=zbuyfxaAg3U", "/downloads/shows/TechLinked/Season 2026/s2026e030700 - It's Over. Nvidia Won..mkv", false, ~U[2026-03-07 05:05:34Z]] 01:04:03.899 [debug] QUERY OK source="sources" db=0.4ms idle=139.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:03.900 [debug] QUERY OK source="media_profiles" db=0.3ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:04:03.900 [debug] QUERY OK source="media_items" db=0.3ms idle=9.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [144555] 01:04:03.900 [debug] Current batch of media processed. Will check again in 1000ms 01:04:04.901 [debug] Current batch of media processed. Will check again in 1000ms 01:04:05.902 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Focus on your meetings, not your notes, with Circleback. Try it FREE for 30 days using code TECHLINKED: https://circleback.ai?utm_source=youtube&utm_medium=paid_video&utm_campaign=techlinked\n\nNEWS SOURCES: https://lmg.gg/23Aj3\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 I'm just ASKING\n0:18 Macbook Neo, M5 Pro, M5 Max\n2:38 OpenAI manages Anthropic backlash\n4:31 Meta Glasses videos exposed?\n7:05 QUICK BITS INTRO\n7:12 Windows 12 this year NOT\n7:54 Pixels get Android desktop mode\n8:27 Scalper bots making RAM crisis worse\n9:11 'Coruna' iPhone exploits\n10:04 Xiaomi has robot 'interns'", "duration" => 669, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e030500 - Yes, Apple. Good..mkv", "id" => "juCA2bsj1Y0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=juCA2bsj1Y0", "playlist_index" => 18, "timestamp" => 1772685989, "title" => "Yes, Apple. Good.", "upload_date" => "20260305"} 01:04:05.903 [debug] QUERY OK source="sources" db=0.3ms idle=942.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:04:05.903 [debug] QUERY OK source="sources" db=0.1ms idle=943.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:05.908 [debug] QUERY OK source="media_items" db=4.3ms idle=943.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-05 04:46:29Z], 5] 01:04:05.911 [debug] QUERY OK source="media_items" db=1.8ms idle=948.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Focus on your meetings, not your notes, with Circleback. Try it FREE for 30 days using code TECHLINKED: https://circleback.ai?utm_source=youtube&utm_medium=paid_video&utm_campaign=techlinked\n\nNEWS SOURCES: https://lmg.gg/23Aj3\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 I'm just ASKING\n0:18 Macbook Neo, M5 Pro, M5 Max\n2:38 OpenAI manages Anthropic backlash\n4:31 Meta Glasses videos exposed?\n7:05 QUICK BITS INTRO\n7:12 Windows 12 this year NOT\n7:54 Pixels get Android desktop mode\n8:27 Scalper bots making RAM crisis worse\n9:11 'Coruna' iPhone exploits\n10:04 Xiaomi has robot 'interns'", "Yes, Apple. Good.", "6e5f9fd5-57b1-4686-aef8-bc193eba4acc", 5, [], 669, false, "juCA2bsj1Y0", "https://www.youtube.com/watch?v=juCA2bsj1Y0", 18, "/downloads/shows/TechLinked/Season 2026/s2026e030500 - Yes, Apple. Good..mkv", false, false, false, 98, ~U[2026-03-05 04:46:29Z], ~U[2026-04-16 23:04:05Z], ~U[2026-04-16 23:04:05Z], "Focus on your meetings, not your notes, with Circleback. Try it FREE for 30 days using code TECHLINKED: https://circleback.ai?utm_source=youtube&utm_medium=paid_video&utm_campaign=techlinked\n\nNEWS SOURCES: https://lmg.gg/23Aj3\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 I'm just ASKING\n0:18 Macbook Neo, M5 Pro, M5 Max\n2:38 OpenAI manages Anthropic backlash\n4:31 Meta Glasses videos exposed?\n7:05 QUICK BITS INTRO\n7:12 Windows 12 this year NOT\n7:54 Pixels get Android desktop mode\n8:27 Scalper bots making RAM crisis worse\n9:11 'Coruna' iPhone exploits\n10:04 Xiaomi has robot 'interns'", "Yes, Apple. Good.", 5, 669, false, "juCA2bsj1Y0", "https://www.youtube.com/watch?v=juCA2bsj1Y0", "/downloads/shows/TechLinked/Season 2026/s2026e030500 - Yes, Apple. Good..mkv", false, ~U[2026-03-05 04:46:29Z]] 01:04:05.911 [debug] QUERY OK source="sources" db=0.2ms idle=149.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:05.912 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms 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] 01:04:05.912 [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 [143605] 01:04:05.912 [debug] Current batch of media processed. Will check again in 1000ms 01:04:06.913 [debug] Current batch of media processed. Will check again in 1000ms 01:04:07.914 [debug] Current batch of media processed. Will check again in 1000ms 01:04:08.915 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Join one of the most comprehensive vehicle combat games ever made. Play War Thunder for FREE on PC, PlayStation, Xbox, and mobile, and unlock a massive bonus pack including vehicles, boosters and more using our links!\n\nPC/Console: https://playwt.link/techlinked \nMobile: https://wtm.game/techlinked\n\nNEWS SOURCES: https://lmg.gg/0w8kw\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 you're stronger than you know :) \n0:14 'Microslop' banned in Copilot Discord\n1:21 MWC - the normal stuff\n3:02 MWC - the weird stuff\n6:15 QUICK BITS INTRO\n6:28 Ryzen AI 400 PRO chips\n7:03 California OS age verification law\n7:47 YouTube Shorts AI tests\n8:22 Omar Yaghi's water harvesting machine\n9:03 CDE Time Capsule", "duration" => 613, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e030300 - Cry Harder, Microsoft.mkv", "id" => "AiEWhMkINuw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AiEWhMkINuw", "playlist_index" => 19, "timestamp" => 1772512355, "title" => "Cry Harder, Microsoft", "upload_date" => "20260303"} 01:04:08.916 [debug] QUERY OK source="sources" db=0.3ms idle=1955.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:04:08.917 [debug] QUERY OK source="sources" db=0.3ms idle=1956.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:08.920 [debug] QUERY OK source="media_items" db=3.4ms idle=1956.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-03 04:32:35Z], 5] 01:04:08.922 [debug] QUERY OK source="media_items" db=1.1ms idle=1155.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Join one of the most comprehensive vehicle combat games ever made. Play War Thunder for FREE on PC, PlayStation, Xbox, and mobile, and unlock a massive bonus pack including vehicles, boosters and more using our links!\n\nPC/Console: https://playwt.link/techlinked \nMobile: https://wtm.game/techlinked\n\nNEWS SOURCES: https://lmg.gg/0w8kw\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 you're stronger than you know :) \n0:14 'Microslop' banned in Copilot Discord\n1:21 MWC - the normal stuff\n3:02 MWC - the weird stuff\n6:15 QUICK BITS INTRO\n6:28 Ryzen AI 400 PRO chips\n7:03 California OS age verification law\n7:47 YouTube Shorts AI tests\n8:22 Omar Yaghi's water harvesting machine\n9:03 CDE Time Capsule", "Cry Harder, Microsoft", "d6fea3c4-9fd7-4b6f-a9e1-6eb9eb634bd0", 5, [], 613, false, "AiEWhMkINuw", "https://www.youtube.com/watch?v=AiEWhMkINuw", 19, "/downloads/shows/TechLinked/Season 2026/s2026e030300 - Cry Harder, Microsoft.mkv", false, false, false, 98, ~U[2026-03-03 04:32:35Z], ~U[2026-04-16 23:04:08Z], ~U[2026-04-16 23:04:08Z], "Join one of the most comprehensive vehicle combat games ever made. Play War Thunder for FREE on PC, PlayStation, Xbox, and mobile, and unlock a massive bonus pack including vehicles, boosters and more using our links!\n\nPC/Console: https://playwt.link/techlinked \nMobile: https://wtm.game/techlinked\n\nNEWS SOURCES: https://lmg.gg/0w8kw\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 you're stronger than you know :) \n0:14 'Microslop' banned in Copilot Discord\n1:21 MWC - the normal stuff\n3:02 MWC - the weird stuff\n6:15 QUICK BITS INTRO\n6:28 Ryzen AI 400 PRO chips\n7:03 California OS age verification law\n7:47 YouTube Shorts AI tests\n8:22 Omar Yaghi's water harvesting machine\n9:03 CDE Time Capsule", "Cry Harder, Microsoft", 5, 613, false, "AiEWhMkINuw", "https://www.youtube.com/watch?v=AiEWhMkINuw", "/downloads/shows/TechLinked/Season 2026/s2026e030300 - Cry Harder, Microsoft.mkv", false, ~U[2026-03-03 04:32:35Z]] 01:04:08.922 [debug] QUERY OK source="sources" db=0.2ms idle=156.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:08.923 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:04:08.923 [debug] QUERY OK source="media_items" db=0.2ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [142659] 01:04:08.923 [debug] Current batch of media processed. Will check again in 1000ms 01:04:09.924 [debug] Current batch of media processed. Will check again in 1000ms 01:04:10.925 [debug] Current batch of media processed. Will check again in 1000ms 01:04:11.926 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Minimal, Functional, and Pocketable AF. Get 20% off the Ohsnap Snap Grip Stand with code \"earlyaccess\" using our link: https://lmg.gg/WNm7j\n\nNEWS SOURCES: https://lmg.gg/BaEmc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 it's like it never ends!\n0:09 Lenovo Legion Go Fold\n1:39 Anthropic rejects Pentagon \n3:04 Meta AI Safety head gets OpenClaw'd\n5:51 QUICK BITS INTRO\n6:04 Nvidia SHIELD TV gets another update\n6:43 Nvidia GPU driver causes fan issues\n7:24 Block cuts nearly half workforce\n8:07 Tecno modular phone conccept\n8:38 Burger King AI headsets", "duration" => 568, "filename" => "/downloads/shows/TechLinked/Season 2026/s2026e022800 - Did Anyone Ask For This?.mkv", "id" => "pMPsKGsi45U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pMPsKGsi45U", "playlist_index" => 20, "timestamp" => 1772257259, "title" => "Did Anyone Ask For This?", "upload_date" => "20260228"} 01:04:11.927 [debug] QUERY OK source="sources" db=0.3ms idle=1966.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:04:11.927 [debug] QUERY OK source="sources" db=0.2ms idle=1966.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:11.931 [debug] QUERY OK source="media_items" db=3.4ms idle=1967.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-28 05:40:59Z], 5] 01:04:11.933 [debug] QUERY OK source="media_items" db=1.0ms idle=1162.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Minimal, Functional, and Pocketable AF. Get 20% off the Ohsnap Snap Grip Stand with code \"earlyaccess\" using our link: https://lmg.gg/WNm7j\n\nNEWS SOURCES: https://lmg.gg/BaEmc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 it's like it never ends!\n0:09 Lenovo Legion Go Fold\n1:39 Anthropic rejects Pentagon \n3:04 Meta AI Safety head gets OpenClaw'd\n5:51 QUICK BITS INTRO\n6:04 Nvidia SHIELD TV gets another update\n6:43 Nvidia GPU driver causes fan issues\n7:24 Block cuts nearly half workforce\n8:07 Tecno modular phone conccept\n8:38 Burger King AI headsets", "Did Anyone Ask For This?", "249fad84-e45c-41f6-9621-bc3ed9b77478", 5, [], 568, false, "pMPsKGsi45U", "https://www.youtube.com/watch?v=pMPsKGsi45U", 20, "/downloads/shows/TechLinked/Season 2026/s2026e022800 - Did Anyone Ask For This?.mkv", false, false, false, 98, ~U[2026-02-28 05:40:59Z], ~U[2026-04-16 23:04:11Z], ~U[2026-04-16 23:04:11Z], "Minimal, Functional, and Pocketable AF. Get 20% off the Ohsnap Snap Grip Stand with code \"earlyaccess\" using our link: https://lmg.gg/WNm7j\n\nNEWS SOURCES: https://lmg.gg/BaEmc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 it's like it never ends!\n0:09 Lenovo Legion Go Fold\n1:39 Anthropic rejects Pentagon \n3:04 Meta AI Safety head gets OpenClaw'd\n5:51 QUICK BITS INTRO\n6:04 Nvidia SHIELD TV gets another update\n6:43 Nvidia GPU driver causes fan issues\n7:24 Block cuts nearly half workforce\n8:07 Tecno modular phone conccept\n8:38 Burger King AI headsets", "Did Anyone Ask For This?", 5, 568, false, "pMPsKGsi45U", "https://www.youtube.com/watch?v=pMPsKGsi45U", "/downloads/shows/TechLinked/Season 2026/s2026e022800 - Did Anyone Ask For This?.mkv", false, ~U[2026-02-28 05:40:59Z]] 01:04:11.933 [debug] QUERY OK source="sources" db=0.2ms idle=163.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:11.933 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:04:11.934 [debug] QUERY OK source="media_items" db=0.2ms idle=6.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141302] 01:04:11.934 [debug] Current batch of media processed. Will check again in 1000ms 01:04:12.936 [debug] Current batch of media processed. Will check again in 1000ms 01:04:13.936 [debug] Current batch of media processed. Will check again in 1000ms 01:04:14.634 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/techlinked --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/TechLinked/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/46/e6/46e6aaa9ead4c63fd75c8bcae2e7212b403baecac4aa37f855190ea1f63e6fb4.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/5c/57/5c5748a0d789290bc9354cfb3acd2c0354f805792ce5048f176af4fd1bc70e08.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 01:04:14.635 [debug] Gracefully stopping file follower 01:04:14.635 [debug] QUERY OK source="sources" db=0.2ms idle=1674.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [5] 01:04:14.636 [debug] QUERY OK source="sources" db=0.1ms idle=1675.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.640 [debug] QUERY OK source="media_items" db=3.5ms idle=1675.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-16 02:37:52Z], 5] 01:04:14.641 [debug] QUERY OK source="media_items" db=1.1ms idle=1679.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/240Ja\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 FIRST VOLLEY!!\n0:10 News sites block Wayback Machine\n1:22 Big Tech ignoring cookie consent \n2:29 FCC exempts Netgear from router ban\n5:04 QUICK BITS INTRO\n5:13 Windows Recall new security concerns\n5:57 China tests deep-sea cable cutter\n6:31 Snap laying off 1,000 workers\n6:59 Nvidia warranty payouts increase 10x\n7:34 Chinese car toilet seat", "We’re Losing the Web", "0ef46979-6d9a-4b69-8f96-8470055d2a17", 5, [], 505, false, "9HaPgJt9SDo", "https://www.youtube.com/watch?v=9HaPgJt9SDo", 1, "/downloads/shows/TechLinked/Season 2026/s2026e041600 - We’re Losing the Web.mkv", false, false, false, 98, ~U[2026-04-16 02:37:52Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/240Ja\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 FIRST VOLLEY!!\n0:10 News sites block Wayback Machine\n1:22 Big Tech ignoring cookie consent \n2:29 FCC exempts Netgear from router ban\n5:04 QUICK BITS INTRO\n5:13 Windows Recall new security concerns\n5:57 China tests deep-sea cable cutter\n6:31 Snap laying off 1,000 workers\n6:59 Nvidia warranty payouts increase 10x\n7:34 Chinese car toilet seat", "We’re Losing the Web", 5, 505, false, "9HaPgJt9SDo", "https://www.youtube.com/watch?v=9HaPgJt9SDo", "/downloads/shows/TechLinked/Season 2026/s2026e041600 - We’re Losing the Web.mkv", false, ~U[2026-04-16 02:37:52Z]] 01:04:14.642 [debug] QUERY OK source="sources" db=0.1ms idle=866.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.645 [debug] QUERY OK source="media_items" db=3.3ms idle=6.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-14 00:32:46Z], 5] 01:04:14.647 [debug] QUERY OK source="media_items" db=1.2ms idle=10.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Play War Thunder for FREE on PC, PlayStation, Xbox, and mobile using the links below! New to the game, or returning after six months? You'll get a massive bonus pack on PC and consoles packed with vehicles, boosters, and more. Claim your bonus and start playing today!\nPC/Console: https://playwt.link/techlinked \nMobile: https://wtm.game/techlinked \n\nNEWS SOURCES: https://lmg.gg/fPugG\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 Intro\n0:14 NVIDIA N1 Spotted in the Wild\n1:29 Apple Smart Glasses Update\n2:38 Rockstar Hacked\n4:50 QUICK BITS INTRO\n4:59 Verbatim, I-O Data Keeping Blu-ray Alive\n5:34 Blue Origin Makes Oxygen From Moon Dust\n6:06 Mark Zuckerberg’s AI Clone\n6:54 New DNA Encryption Method\n7:32 Robot Birds Luring Real Birds", "This Could Be Cataclysmic", "768c3f4a-68fe-49a5-afc9-aba78c978d35", 5, [], 498, false, "k1PV5squdbY", "https://www.youtube.com/watch?v=k1PV5squdbY", 2, "/downloads/shows/TechLinked/Season 2026/s2026e041400 - This Could Be Cataclysmic.mkv", false, false, false, 98, ~U[2026-04-14 00:32:46Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Play War Thunder for FREE on PC, PlayStation, Xbox, and mobile using the links below! New to the game, or returning after six months? You'll get a massive bonus pack on PC and consoles packed with vehicles, boosters, and more. Claim your bonus and start playing today!\nPC/Console: https://playwt.link/techlinked \nMobile: https://wtm.game/techlinked \n\nNEWS SOURCES: https://lmg.gg/fPugG\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 Intro\n0:14 NVIDIA N1 Spotted in the Wild\n1:29 Apple Smart Glasses Update\n2:38 Rockstar Hacked\n4:50 QUICK BITS INTRO\n4:59 Verbatim, I-O Data Keeping Blu-ray Alive\n5:34 Blue Origin Makes Oxygen From Moon Dust\n6:06 Mark Zuckerberg’s AI Clone\n6:54 New DNA Encryption Method\n7:32 Robot Birds Luring Real Birds", "This Could Be Cataclysmic", 5, 498, false, "k1PV5squdbY", "https://www.youtube.com/watch?v=k1PV5squdbY", "/downloads/shows/TechLinked/Season 2026/s2026e041400 - This Could Be Cataclysmic.mkv", false, ~U[2026-04-14 00:32:46Z]] 01:04:14.648 [debug] QUERY OK source="sources" db=0.5ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.652 [debug] QUERY OK source="media_items" db=3.5ms idle=7.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-11 04:38:16Z], 5] 01:04:14.654 [debug] QUERY OK source="media_items" db=1.1ms idle=10.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get a 15% discount on Saily eSIM data plans! Download the Saily app and use code TECHLINKED at checkout. Or go to https://saily.com/techlinked\n\nNEWS SOURCES: https://lmg.gg/rlqb5\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 you know it when you see it\n0:10 YouTube TV 90sec ads, Premium hike\n1:16 CPUID site hacked, CPU-Z, HWMonitor \n2:33 French govt ditches Windows to Linux\n4:30 QUICK BITS INTRO\n4:39 Keychron releases source files\n5:09 OpenAI also has dangerous AI\n5:47 Take It Down Act first case\n6:33 Brother sued over Blackberry patents\n7:18 Honor MouseBuds Pro", "That's Enough, YouTube.", "001e8ef7-b43d-4279-9dfe-c83ff2637710", 5, [], 489, false, "pbqM8c9vTyE", "https://www.youtube.com/watch?v=pbqM8c9vTyE", 3, "/downloads/shows/TechLinked/Season 2026/s2026e041100 - That's Enough, YouTube..mkv", false, false, false, 98, ~U[2026-04-11 04:38:16Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Get a 15% discount on Saily eSIM data plans! Download the Saily app and use code TECHLINKED at checkout. Or go to https://saily.com/techlinked\n\nNEWS SOURCES: https://lmg.gg/rlqb5\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 you know it when you see it\n0:10 YouTube TV 90sec ads, Premium hike\n1:16 CPUID site hacked, CPU-Z, HWMonitor \n2:33 French govt ditches Windows to Linux\n4:30 QUICK BITS INTRO\n4:39 Keychron releases source files\n5:09 OpenAI also has dangerous AI\n5:47 Take It Down Act first case\n6:33 Brother sued over Blackberry patents\n7:18 Honor MouseBuds Pro", "That's Enough, YouTube.", 5, 489, false, "pbqM8c9vTyE", "https://www.youtube.com/watch?v=pbqM8c9vTyE", "/downloads/shows/TechLinked/Season 2026/s2026e041100 - That's Enough, YouTube..mkv", false, ~U[2026-04-11 04:38:16Z]] 01:04:14.655 [debug] QUERY OK source="sources" db=0.5ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.658 [debug] QUERY OK source="media_items" db=3.4ms idle=7.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-09 03:05:53Z], 5] 01:04:14.661 [debug] QUERY OK source="media_items" db=2.3ms idle=10.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["ave 30% on a Redtiger F17 Elite Dash Cam with full-color night vision using code RTF17E025 at: https://lmg.gg/muePr\nSave an extra $10 with code F17ECAM on the Redtiger site: https://lmg.gg/v6VI3\n\nNEWS SOURCES: https://lmg.gg/Sr1NJ\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 let my tale be a warning to you\n0:11 Anthropic Claude Mythos / Project Glasswing\n1:52 Snapdragon X2 Elite Extreme laptop\n3:05 John Deere settles right to repair lawsuit\n5:17 QUICK BITS INTRO\n5:24 iPhone Fold dummy unit leak\n6:04 Intel to join Elon's Terafab\n6:40 Apple Silicon Macs get eGPU support\n7:07 Wacky / cool Tennessee AI laws?\n7:49 Milla Jovovich launches AI tool", "Do NOT Let This AI Out...", "dd39f894-6da7-4cf0-86fa-e6ce2196983a", 5, [], 535, false, "7NUjC3iPr9g", "https://www.youtube.com/watch?v=7NUjC3iPr9g", 4, "/downloads/shows/TechLinked/Season 2026/s2026e040900 - Do NOT Let This AI Out....mkv", false, false, false, 98, ~U[2026-04-09 03:05:53Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "ave 30% on a Redtiger F17 Elite Dash Cam with full-color night vision using code RTF17E025 at: https://lmg.gg/muePr\nSave an extra $10 with code F17ECAM on the Redtiger site: https://lmg.gg/v6VI3\n\nNEWS SOURCES: https://lmg.gg/Sr1NJ\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 let my tale be a warning to you\n0:11 Anthropic Claude Mythos / Project Glasswing\n1:52 Snapdragon X2 Elite Extreme laptop\n3:05 John Deere settles right to repair lawsuit\n5:17 QUICK BITS INTRO\n5:24 iPhone Fold dummy unit leak\n6:04 Intel to join Elon's Terafab\n6:40 Apple Silicon Macs get eGPU support\n7:07 Wacky / cool Tennessee AI laws?\n7:49 Milla Jovovich launches AI tool", "Do NOT Let This AI Out...", 5, 535, false, "7NUjC3iPr9g", "https://www.youtube.com/watch?v=7NUjC3iPr9g", "/downloads/shows/TechLinked/Season 2026/s2026e040900 - Do NOT Let This AI Out....mkv", false, ~U[2026-04-09 03:05:53Z]] 01:04:14.662 [debug] QUERY OK source="sources" db=0.5ms idle=9.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.666 [debug] QUERY OK source="media_items" db=3.4ms idle=8.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-07 01:53:16Z], 5] 01:04:14.668 [debug] QUERY OK source="media_items" db=1.0ms idle=11.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Go to https://shortlinus.com for all your case, screen protector, and overpriced sticker needs. \n\nNEWS SOURCES: https://lmg.gg/h1slF\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 Here's tech news molded into a bunny shape\n0:12 Chinese RAM cheap, but Samsung ups price\n1:31 Artemis II completes lunar fly-by\n2:59 LinkedIn 'Browsergate'\n5:07 QUICK BITS INTRO\n5:16 Nvidia Neural Texture compression\n6:03 Italian courts invalidates Netflix price hikes\n6:39 OpenAI acquires TBPN \n7:36 SpaceX IPO banks must use Grok\n8:17 CRISPR gene editing to treat sickle cell illness", "Something Ain't Right...", "17b72d81-009f-4297-93da-c365efb97cef", 5, [], 552, false, "OLf_pUjN-8o", "https://www.youtube.com/watch?v=OLf_pUjN-8o", 5, "/downloads/shows/TechLinked/Season 2026/s2026e040700 - Something Ain't Right....mkv", false, false, false, 98, ~U[2026-04-07 01:53:16Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Go to https://shortlinus.com for all your case, screen protector, and overpriced sticker needs. \n\nNEWS SOURCES: https://lmg.gg/h1slF\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 Here's tech news molded into a bunny shape\n0:12 Chinese RAM cheap, but Samsung ups price\n1:31 Artemis II completes lunar fly-by\n2:59 LinkedIn 'Browsergate'\n5:07 QUICK BITS INTRO\n5:16 Nvidia Neural Texture compression\n6:03 Italian courts invalidates Netflix price hikes\n6:39 OpenAI acquires TBPN \n7:36 SpaceX IPO banks must use Grok\n8:17 CRISPR gene editing to treat sickle cell illness", "Something Ain't Right...", 5, 552, false, "OLf_pUjN-8o", "https://www.youtube.com/watch?v=OLf_pUjN-8o", "/downloads/shows/TechLinked/Season 2026/s2026e040700 - Something Ain't Right....mkv", false, ~U[2026-04-07 01:53:16Z]] 01:04:14.668 [debug] QUERY OK source="sources" db=0.6ms idle=9.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.672 [debug] QUERY OK source="media_items" db=3.5ms idle=7.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-02 03:29:35Z], 5] 01:04:14.674 [debug] QUERY OK source="media_items" db=1.0ms idle=10.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["We're all Born Private, and it should stay that way. Create a free account with Proton Mail - https://proton.me/techlinked\n\nNEWS SOURCES: https://lmg.gg/HJ1NI\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 HAHAHAHAHA FUN\n0:15 Big Tech under threat\n1:52 AI putting Open Source at risk\n3:31 April Fool's Roundup\n6:34 QUICK BITS INTRO\n6:49 Claude Code source code leak\n7:37 Artemis II lunar mission launch\n8:17 Oracle fires thousands of workers\n9:08 Baidu robotaxis freeze on roads\n9:59 Memory chips that work at 700 degrees", "Tech is in Trouble", "92528884-7ff6-41df-8f1a-99ffe03080e1", 5, [], 661, false, "8SWKso_L7CM", "https://www.youtube.com/watch?v=8SWKso_L7CM", 6, "/downloads/shows/TechLinked/Season 2026/s2026e040200 - Tech is in Trouble.mkv", false, false, false, 98, ~U[2026-04-02 03:29:35Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "We're all Born Private, and it should stay that way. Create a free account with Proton Mail - https://proton.me/techlinked\n\nNEWS SOURCES: https://lmg.gg/HJ1NI\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 HAHAHAHAHA FUN\n0:15 Big Tech under threat\n1:52 AI putting Open Source at risk\n3:31 April Fool's Roundup\n6:34 QUICK BITS INTRO\n6:49 Claude Code source code leak\n7:37 Artemis II lunar mission launch\n8:17 Oracle fires thousands of workers\n9:08 Baidu robotaxis freeze on roads\n9:59 Memory chips that work at 700 degrees", "Tech is in Trouble", 5, 661, false, "8SWKso_L7CM", "https://www.youtube.com/watch?v=8SWKso_L7CM", "/downloads/shows/TechLinked/Season 2026/s2026e040200 - Tech is in Trouble.mkv", false, ~U[2026-04-02 03:29:35Z]] 01:04:14.675 [debug] QUERY OK source="sources" db=0.5ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.679 [debug] QUERY OK source="media_items" db=3.5ms idle=7.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-31 02:26:11Z], 5] 01:04:14.680 [debug] QUERY OK source="media_items" db=1.0ms idle=10.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Grab a DeltaHub Carpio wrist rest today at https://go.deltahub.io/techlinked\n\nNEWS SOURCES: https://lmg.gg/NNOSj\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 this is your captain speaking\n0:13 Windows Search improvements on W11\n1:57 The White House App\n3:31 Apple's Swift comes to Android\n5:15 QUICK BITS INTRO\n5:24 Copilot injected ads on GitHub; fixed now?\n5:58 Sony suspends memory card sales\n6:43 AnimePlay app taken down\n7:28 Wi-Fi, 100m underground", "They’re Finally Fixing It!", "bfa7e8ea-2940-463e-848c-6b251ef487e0", 5, [], 510, false, "podGRTAac_Q", "https://www.youtube.com/watch?v=podGRTAac_Q", 7, "/downloads/shows/TechLinked/Season 2026/s2026e033100 - They’re Finally Fixing It!.mkv", false, false, false, 98, ~U[2026-03-31 02:26:11Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Grab a DeltaHub Carpio wrist rest today at https://go.deltahub.io/techlinked\n\nNEWS SOURCES: https://lmg.gg/NNOSj\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 this is your captain speaking\n0:13 Windows Search improvements on W11\n1:57 The White House App\n3:31 Apple's Swift comes to Android\n5:15 QUICK BITS INTRO\n5:24 Copilot injected ads on GitHub; fixed now?\n5:58 Sony suspends memory card sales\n6:43 AnimePlay app taken down\n7:28 Wi-Fi, 100m underground", "They’re Finally Fixing It!", 5, 510, false, "podGRTAac_Q", "https://www.youtube.com/watch?v=podGRTAac_Q", "/downloads/shows/TechLinked/Season 2026/s2026e033100 - They’re Finally Fixing It!.mkv", false, ~U[2026-03-31 02:26:11Z]] 01:04:14.681 [debug] QUERY OK source="sources" db=0.6ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.685 [debug] QUERY OK source="media_items" db=3.5ms idle=7.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-28 03:59:12Z], 5] 01:04:14.686 [debug] QUERY OK source="media_items" db=1.1ms idle=10.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["One pair for everyday and everywhere. Vessi claim their Weekend Neo is waterproof, lightweight, and built for daily wear and travel. \n✨ Grab 15% off your first pair here: https://vessi.com/techlinked\n• Free shipping • 30‑day returns • 1‑year warranty\n\nNEWS SOURCES: https://lmg.gg/bZeGh\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 who knows what tech is, really\n0:11 Google TurboQuant could help RAM crisis\n2:04 Apple discontinues Mac Pro\n3:35 Ryzen 9 9950X3D2\n5:49 QUICK BITS INTRO\n5:57 RCS 4.0 brings video calling\n6:37 Apple gives FBI user email\n7:34 PS5 price hikes, again\n8:09 Wikipedia bans AI articles\n8:45 Delivery robot smashes glass", "The End Is In Sight!?", "8cbe1736-07a8-4ee9-8cfd-a921b5527ab3", 5, [], 577, false, "Y774dmdl5nA", "https://www.youtube.com/watch?v=Y774dmdl5nA", 8, "/downloads/shows/TechLinked/Season 2026/s2026e032800 - The End Is In Sight!?.mkv", false, false, false, 98, ~U[2026-03-28 03:59:12Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "One pair for everyday and everywhere. Vessi claim their Weekend Neo is waterproof, lightweight, and built for daily wear and travel. \n✨ Grab 15% off your first pair here: https://vessi.com/techlinked\n• Free shipping • 30‑day returns • 1‑year warranty\n\nNEWS SOURCES: https://lmg.gg/bZeGh\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 who knows what tech is, really\n0:11 Google TurboQuant could help RAM crisis\n2:04 Apple discontinues Mac Pro\n3:35 Ryzen 9 9950X3D2\n5:49 QUICK BITS INTRO\n5:57 RCS 4.0 brings video calling\n6:37 Apple gives FBI user email\n7:34 PS5 price hikes, again\n8:09 Wikipedia bans AI articles\n8:45 Delivery robot smashes glass", "The End Is In Sight!?", 5, 577, false, "Y774dmdl5nA", "https://www.youtube.com/watch?v=Y774dmdl5nA", "/downloads/shows/TechLinked/Season 2026/s2026e032800 - The End Is In Sight!?.mkv", false, ~U[2026-03-28 03:59:12Z]] 01:04:14.687 [debug] QUERY OK source="sources" db=0.6ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.691 [debug] QUERY OK source="media_items" db=3.4ms idle=7.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-26 03:30:56Z], 5] 01:04:14.693 [debug] QUERY OK source="media_items" db=1.1ms idle=10.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://www.squarespace.com/techlinked and use offer code techlinked for 10% off your first purchase.\n\nNEWS SOURCES: https://lmg.gg/s0So6\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 resisted Foghorn Leghorn voice\n0:14 OpenAI shuts down Sora, Disney deal off\n2:00 Meta, YouTube landmark rulings\n4:00 Arm AGI CPU\n6:23 QUICK BITS INTRO\n6:38 Intel Arc Pro B70, B65 BATTLEMAGE\n7:28 Wine 11 massively boosts Linux gaming\n8:17 Ayaneo pulls NEXT 2 handheld from sale\n8:57 FCC ban on foreign-made routers \n9:40 Touchscreen-compatible nail polish", "Well, So Much For Sora!", "1611b1d4-ba53-4d3c-a2e2-34d8c92828e3", 5, [], 670, false, "nyHM__Jc2sY", "https://www.youtube.com/watch?v=nyHM__Jc2sY", 9, "/downloads/shows/TechLinked/Season 2026/s2026e032600 - Well, So Much For Sora!.mkv", false, false, false, 98, ~U[2026-03-26 03:30:56Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Visit https://www.squarespace.com/techlinked and use offer code techlinked for 10% off your first purchase.\n\nNEWS SOURCES: https://lmg.gg/s0So6\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 resisted Foghorn Leghorn voice\n0:14 OpenAI shuts down Sora, Disney deal off\n2:00 Meta, YouTube landmark rulings\n4:00 Arm AGI CPU\n6:23 QUICK BITS INTRO\n6:38 Intel Arc Pro B70, B65 BATTLEMAGE\n7:28 Wine 11 massively boosts Linux gaming\n8:17 Ayaneo pulls NEXT 2 handheld from sale\n8:57 FCC ban on foreign-made routers \n9:40 Touchscreen-compatible nail polish", "Well, So Much For Sora!", 5, 670, false, "nyHM__Jc2sY", "https://www.youtube.com/watch?v=nyHM__Jc2sY", "/downloads/shows/TechLinked/Season 2026/s2026e032600 - Well, So Much For Sora!.mkv", false, ~U[2026-03-26 03:30:56Z]] 01:04:14.694 [debug] QUERY OK source="sources" db=0.5ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.697 [debug] QUERY OK source="media_items" db=3.5ms idle=7.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-24 03:07:37Z], 5] 01:04:14.699 [debug] QUERY OK source="media_items" db=1.0ms idle=10.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get the transparency you deserve and make sure you see the whole story with Ground News. Subscribe to their Vantage plan today and save 40% with our link: https://ground.news/techlinked\n\nNEWS SOURCES: https://lmg.gg/v9Lr2\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 come on, doctor's orders\n0:13 Intel Core Ultra 270K Plus, 250K Plus\n1:31 Win11 glitches but it'll get better\n3:00 National AI Legislative Framework\n5:17 QUICK BITS INTRO\n5:27 Galaxy S26 series AirDrop support\n5:56 GrapheneOS no personal information \n6:27 Crunchroll hack\n7:02 Modular, indestructible robot", "Intel Ain't Playin' Anymore.", "fcebeb99-0f06-42c8-8393-41b5cb737179", 5, [], 480, false, "y7BI1RNDjIs", "https://www.youtube.com/watch?v=y7BI1RNDjIs", 10, "/downloads/shows/TechLinked/Season 2026/s2026e032400 - Intel Ain't Playin' Anymore..mkv", false, false, false, 98, ~U[2026-03-24 03:07:37Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Get the transparency you deserve and make sure you see the whole story with Ground News. Subscribe to their Vantage plan today and save 40% with our link: https://ground.news/techlinked\n\nNEWS SOURCES: https://lmg.gg/v9Lr2\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 come on, doctor's orders\n0:13 Intel Core Ultra 270K Plus, 250K Plus\n1:31 Win11 glitches but it'll get better\n3:00 National AI Legislative Framework\n5:17 QUICK BITS INTRO\n5:27 Galaxy S26 series AirDrop support\n5:56 GrapheneOS no personal information \n6:27 Crunchroll hack\n7:02 Modular, indestructible robot", "Intel Ain't Playin' Anymore.", 5, 480, false, "y7BI1RNDjIs", "https://www.youtube.com/watch?v=y7BI1RNDjIs", "/downloads/shows/TechLinked/Season 2026/s2026e032400 - Intel Ain't Playin' Anymore..mkv", false, ~U[2026-03-24 03:07:37Z]] 01:04:14.700 [debug] QUERY OK source="sources" db=0.6ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.704 [debug] QUERY OK source="media_items" db=3.4ms idle=7.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-21 05:25:39Z], 5] 01:04:14.705 [debug] QUERY OK source="media_items" db=1.0ms idle=10.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get a 15% discount on Saily eSIM data plans! Download the Saily app and use code TECHLINKED at checkout. Or go to https://saily.com/techlinked\n\nNEWS SOURCES: https://lmg.gg/fwQbj\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 do u ever feel like a muppet\n0:11 Google Search AI editing headlines\n2:00 Super Micro co-founder smuggling charges\n3:47 Android sideloading 24-hour wait period\n6:09 QUICK BITS INTRO \n6:25 Meta Horizon Worlds VR stays alive\n7:14 multi-country botnet takedown\n8:14 Musician indicted for AI music fraud\n9:08 DLSS 5 only sees 2D frame, thanks Daniel Owen\n10:09 Cyborg cockroaches", "Thanks Google, Much Better", "16512e98-b34b-406c-b9a2-f197fa6fad37", 5, [], 671, false, "eMKsn_OlC1w", "https://www.youtube.com/watch?v=eMKsn_OlC1w", 11, "/downloads/shows/TechLinked/Season 2026/s2026e032100 - Thanks Google, Much Better.mkv", false, false, false, 98, ~U[2026-03-21 05:25:39Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Get a 15% discount on Saily eSIM data plans! Download the Saily app and use code TECHLINKED at checkout. Or go to https://saily.com/techlinked\n\nNEWS SOURCES: https://lmg.gg/fwQbj\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 do u ever feel like a muppet\n0:11 Google Search AI editing headlines\n2:00 Super Micro co-founder smuggling charges\n3:47 Android sideloading 24-hour wait period\n6:09 QUICK BITS INTRO \n6:25 Meta Horizon Worlds VR stays alive\n7:14 multi-country botnet takedown\n8:14 Musician indicted for AI music fraud\n9:08 DLSS 5 only sees 2D frame, thanks Daniel Owen\n10:09 Cyborg cockroaches", "Thanks Google, Much Better", 5, 671, false, "eMKsn_OlC1w", "https://www.youtube.com/watch?v=eMKsn_OlC1w", "/downloads/shows/TechLinked/Season 2026/s2026e032100 - Thanks Google, Much Better.mkv", false, ~U[2026-03-21 05:25:39Z]] 01:04:14.706 [debug] QUERY OK source="sources" db=0.5ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.710 [debug] QUERY OK source="media_items" db=3.5ms idle=7.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 02:47:09Z], 5] 01:04:14.712 [debug] QUERY OK source="media_items" db=1.0ms idle=10.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["If you want to skip the hassle of researching, buying, and building a gaming PC for yourself, buy one from one of Jawa’s Verified Sellers! Visit https://jawa.link/TLMar26 to get started.\n\nNEWS SOURCES: https://lmg.gg/TM8W1\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 DLSS 5 haters are 'completely wrong' - Jensen\n3:02 AMD responds to Ryzen mislabeling\n5:43 QUICK BITS INTRO\n5:51 Intel Core Ultra 200HX Plus, precompiled shaders\n6:25 Mozilla Firefox VPN\n7:05 free Gemini Personal Intelligence \n7:40 Samsung discontinues Galaxy Z Trifold\n8:42 3D-printed shoulder-mounted launcher", "Everyone's Wrong About DLSS 5", "ea29204b-9bd8-46fd-8e24-d5571e16dd75", 5, [], 583, false, "G332-qMENpA", "https://www.youtube.com/watch?v=G332-qMENpA", 12, "/downloads/shows/TechLinked/Season 2026/s2026e031900 - Everyone's Wrong About DLSS 5.mkv", false, false, false, 98, ~U[2026-03-19 02:47:09Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "If you want to skip the hassle of researching, buying, and building a gaming PC for yourself, buy one from one of Jawa’s Verified Sellers! Visit https://jawa.link/TLMar26 to get started.\n\nNEWS SOURCES: https://lmg.gg/TM8W1\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 DLSS 5 haters are 'completely wrong' - Jensen\n3:02 AMD responds to Ryzen mislabeling\n5:43 QUICK BITS INTRO\n5:51 Intel Core Ultra 200HX Plus, precompiled shaders\n6:25 Mozilla Firefox VPN\n7:05 free Gemini Personal Intelligence \n7:40 Samsung discontinues Galaxy Z Trifold\n8:42 3D-printed shoulder-mounted launcher", "Everyone's Wrong About DLSS 5", 5, 583, false, "G332-qMENpA", "https://www.youtube.com/watch?v=G332-qMENpA", "/downloads/shows/TechLinked/Season 2026/s2026e031900 - Everyone's Wrong About DLSS 5.mkv", false, ~U[2026-03-19 02:47:09Z]] 01:04:14.716 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.720 [debug] QUERY OK source="media_items" db=3.5ms idle=11.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-17 02:01:37Z], 5] 01:04:14.722 [debug] QUERY OK source="media_items" db=1.0ms idle=14.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/iUSvu\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 just give James a second\n0:13 Nvidia DLSS 5 looks a bit... sloppy\n1:50 Win11 C: drive bug on Samsung PCs\n3:13 ASRock motherboard with DDR4 + DDR5 slots\n5:50 QUICK BITS INTRO\n6:02 Apple Airpods Max 2\n6:39 Xbox One 'Bliss' Hack\n7:23 Instagram loses E2E encryption\n8:06 Pokemon Go helping delivery bots\n8:45 Antec Flux Pro Noctua Edition tease", "Please, Make It Slop - DLSS 5", "9142aa30-a0b5-4988-9602-5eea8ffbe28c", 5, [], 576, false, "YoGoayBUR-Y", "https://www.youtube.com/watch?v=YoGoayBUR-Y", 13, "/downloads/shows/TechLinked/Season 2026/s2026e031700 - Please, Make It Slop - DLSS 5.mkv", false, false, false, 98, ~U[2026-03-17 02:01:37Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/iUSvu\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 just give James a second\n0:13 Nvidia DLSS 5 looks a bit... sloppy\n1:50 Win11 C: drive bug on Samsung PCs\n3:13 ASRock motherboard with DDR4 + DDR5 slots\n5:50 QUICK BITS INTRO\n6:02 Apple Airpods Max 2\n6:39 Xbox One 'Bliss' Hack\n7:23 Instagram loses E2E encryption\n8:06 Pokemon Go helping delivery bots\n8:45 Antec Flux Pro Noctua Edition tease", "Please, Make It Slop - DLSS 5", 5, 576, false, "YoGoayBUR-Y", "https://www.youtube.com/watch?v=YoGoayBUR-Y", "/downloads/shows/TechLinked/Season 2026/s2026e031700 - Please, Make It Slop - DLSS 5.mkv", false, ~U[2026-03-17 02:01:37Z]] 01:04:14.722 [debug] QUERY OK source="sources" db=0.5ms idle=11.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.726 [debug] QUERY OK source="media_items" db=3.4ms idle=11.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-14 04:06:12Z], 5] 01:04:14.728 [debug] QUERY OK source="media_items" db=1.0ms idle=10.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Laifen for sponsoring this video! Grab your Wave Pro Toothbrush below!\n\nLaifen Official Website: https://bit.ly/4sl4Jg6 \nAmazon: https://bit.ly/4u8CT8O\n\nNEWS SOURCES: https://lmg.gg/EURPm\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 little freeloaders\n0:12 Firefox keeping Win7 alive, for a bit\n1:31 FBI investigates Steam malware\n3:31 Stryker Corporation cyberattack\n6:38 QUICK BITS INTRO\n6:56 Google Maps update\n7:32 GFiber merges with Astound Broadband\n8:20 Telus Digital data breach\n9:19 Cybertruck FSD lawsuit\n10:35 Alexa+ 'Sassy' mode", "Windows 7 LIVES?? …….(for a few more months??)", "f978ab90-9216-4d27-a7fd-10e47b81d2f8", 5, [], 705, false, "xfiOFKVvnw8", "https://www.youtube.com/watch?v=xfiOFKVvnw8", 14, "/downloads/shows/TechLinked/Season 2026/s2026e031400 - Windows 7 LIVES?? …….(for a few more months??).mkv", false, false, false, 98, ~U[2026-03-14 04:06:12Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Thanks to Laifen for sponsoring this video! Grab your Wave Pro Toothbrush below!\n\nLaifen Official Website: https://bit.ly/4sl4Jg6 \nAmazon: https://bit.ly/4u8CT8O\n\nNEWS SOURCES: https://lmg.gg/EURPm\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 little freeloaders\n0:12 Firefox keeping Win7 alive, for a bit\n1:31 FBI investigates Steam malware\n3:31 Stryker Corporation cyberattack\n6:38 QUICK BITS INTRO\n6:56 Google Maps update\n7:32 GFiber merges with Astound Broadband\n8:20 Telus Digital data breach\n9:19 Cybertruck FSD lawsuit\n10:35 Alexa+ 'Sassy' mode", "Windows 7 LIVES?? …….(for a few more months??)", 5, 705, false, "xfiOFKVvnw8", "https://www.youtube.com/watch?v=xfiOFKVvnw8", "/downloads/shows/TechLinked/Season 2026/s2026e031400 - Windows 7 LIVES?? …….(for a few more months??).mkv", false, ~U[2026-03-14 04:06:12Z]] 01:04:14.729 [debug] QUERY OK source="sources" db=0.5ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.732 [debug] QUERY OK source="media_items" db=3.3ms idle=7.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-12 03:38:02Z], 5] 01:04:14.734 [debug] QUERY OK source="media_items" db=1.0ms idle=10.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Visit https://www.squarespace.com/techlinked and use offer code techlinked for 10% off your first purchase.\n\nNEWS SOURCES: https://lmg.gg/0l72L\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 we are doing the WORK here\n0:13 YouTube = largest media company?\n2:11 Intel Core Ultra 200S Plus\n3:50 Meta acquires Moltbook\n6:38 QUICK BITS INTRO\n6:49 Macbook Neo reviews\n7:32 Hisense TVs serve ridiculous ads \n8:13 Perplexity AI agents blocked on Amazon\n8:57 Windows 11 update is... GOOD?\n9:42 Lenovo Tab Plus Gen 2 with big speaker", "What Has YouTube Become?", "1ece7075-7b2b-48ab-8d53-9e67828383ac", 5, [], 638, false, "xab9nkqB8w8", "https://www.youtube.com/watch?v=xab9nkqB8w8", 15, "/downloads/shows/TechLinked/Season 2026/s2026e031200 - What Has YouTube Become?.mkv", false, false, false, 98, ~U[2026-03-12 03:38:02Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Visit https://www.squarespace.com/techlinked and use offer code techlinked for 10% off your first purchase.\n\nNEWS SOURCES: https://lmg.gg/0l72L\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 we are doing the WORK here\n0:13 YouTube = largest media company?\n2:11 Intel Core Ultra 200S Plus\n3:50 Meta acquires Moltbook\n6:38 QUICK BITS INTRO\n6:49 Macbook Neo reviews\n7:32 Hisense TVs serve ridiculous ads \n8:13 Perplexity AI agents blocked on Amazon\n8:57 Windows 11 update is... GOOD?\n9:42 Lenovo Tab Plus Gen 2 with big speaker", "What Has YouTube Become?", 5, 638, false, "xab9nkqB8w8", "https://www.youtube.com/watch?v=xab9nkqB8w8", "/downloads/shows/TechLinked/Season 2026/s2026e031200 - What Has YouTube Become?.mkv", false, ~U[2026-03-12 03:38:02Z]] 01:04:14.735 [debug] QUERY OK source="sources" db=0.6ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.738 [debug] QUERY OK source="media_items" db=3.3ms idle=7.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-10 03:31:56Z], 5] 01:04:14.740 [debug] QUERY OK source="media_items" db=1.1ms idle=10.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/H23Bk\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 sorry just how it is\n0:08 Apple HomePad and 'Ultra' products\n1:36 OpenClaw hype continues\n3:27 Nintendo sues US government\n5:54 QUICK BITS INTRO\n6:07 PS5 running Linux\n6:41 Nvidia reviving RTX 3060\n7:17 X finally adds Grok blocker\n8:05 Arduino Ventuo Q\n8:44 UK's first telesurgery", "Apple: This Is Only the Beginning...", "2de101b2-a2a3-45a0-ba2e-cd469a81f514", 5, [], 599, false, "Qv1rwKDt2sQ", "https://www.youtube.com/watch?v=Qv1rwKDt2sQ", 16, "/downloads/shows/TechLinked/Season 2026/s2026e031000 - Apple: This Is Only the Beginning....mkv", false, false, false, 98, ~U[2026-03-10 03:31:56Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/H23Bk\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 sorry just how it is\n0:08 Apple HomePad and 'Ultra' products\n1:36 OpenClaw hype continues\n3:27 Nintendo sues US government\n5:54 QUICK BITS INTRO\n6:07 PS5 running Linux\n6:41 Nvidia reviving RTX 3060\n7:17 X finally adds Grok blocker\n8:05 Arduino Ventuo Q\n8:44 UK's first telesurgery", "Apple: This Is Only the Beginning...", 5, 599, false, "Qv1rwKDt2sQ", "https://www.youtube.com/watch?v=Qv1rwKDt2sQ", "/downloads/shows/TechLinked/Season 2026/s2026e031000 - Apple: This Is Only the Beginning....mkv", false, ~U[2026-03-10 03:31:56Z]] 01:04:14.741 [debug] QUERY OK source="sources" db=0.5ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.745 [debug] QUERY OK source="media_items" db=3.2ms idle=7.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-07 05:05:34Z], 5] 01:04:14.746 [debug] QUERY OK source="media_items" db=1.0ms idle=10.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Thanks to Tello for sponsoring this video! Check out their plans at https://tello.com/?utm_source=partner&utm_medium=cpc&utm_campaign=TechLinked&src=partner&mdm=cpc&cmg=TechLinked\n\nNEWS SOURCES: https://lmg.gg/HpyUt\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 why? is a good question\n0:09 Nvidia GPU monopoly\n2:04 Anthropic to fight Pentagon\n4:51 QUICK BITS INTRO\n5:33 QUICK BITS INTRO\n5:46 Apple blocks ByteDance-owned apps\n6:29 Apple Music adds AI music tags\n7:00 Macbook Neo benchmarks\n7:40 Wikipedia AI translation issues\n8:19 Roblox AI re-phrases bad chats", "It's Over. Nvidia Won.", "d2dfd1b7-968f-4f9b-9762-eadfd45f11ef", 5, [], 569, false, "zbuyfxaAg3U", "https://www.youtube.com/watch?v=zbuyfxaAg3U", 17, "/downloads/shows/TechLinked/Season 2026/s2026e030700 - It's Over. Nvidia Won..mkv", false, false, false, 98, ~U[2026-03-07 05:05:34Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Thanks to Tello for sponsoring this video! Check out their plans at https://tello.com/?utm_source=partner&utm_medium=cpc&utm_campaign=TechLinked&src=partner&mdm=cpc&cmg=TechLinked\n\nNEWS SOURCES: https://lmg.gg/HpyUt\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 why? is a good question\n0:09 Nvidia GPU monopoly\n2:04 Anthropic to fight Pentagon\n4:51 QUICK BITS INTRO\n5:33 QUICK BITS INTRO\n5:46 Apple blocks ByteDance-owned apps\n6:29 Apple Music adds AI music tags\n7:00 Macbook Neo benchmarks\n7:40 Wikipedia AI translation issues\n8:19 Roblox AI re-phrases bad chats", "It's Over. Nvidia Won.", 5, 569, false, "zbuyfxaAg3U", "https://www.youtube.com/watch?v=zbuyfxaAg3U", "/downloads/shows/TechLinked/Season 2026/s2026e030700 - It's Over. Nvidia Won..mkv", false, ~U[2026-03-07 05:05:34Z]] 01:04:14.747 [debug] QUERY OK source="sources" db=0.5ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.751 [debug] QUERY OK source="media_items" db=3.3ms idle=7.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-05 04:46:29Z], 5] 01:04:14.752 [debug] QUERY OK source="media_items" db=1.0ms idle=9.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Focus on your meetings, not your notes, with Circleback. Try it FREE for 30 days using code TECHLINKED: https://circleback.ai?utm_source=youtube&utm_medium=paid_video&utm_campaign=techlinked\n\nNEWS SOURCES: https://lmg.gg/23Aj3\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 I'm just ASKING\n0:18 Macbook Neo, M5 Pro, M5 Max\n2:38 OpenAI manages Anthropic backlash\n4:31 Meta Glasses videos exposed?\n7:05 QUICK BITS INTRO\n7:12 Windows 12 this year NOT\n7:54 Pixels get Android desktop mode\n8:27 Scalper bots making RAM crisis worse\n9:11 'Coruna' iPhone exploits\n10:04 Xiaomi has robot 'interns'", "Yes, Apple. Good.", "2192aed7-0536-4660-9017-6bd98a776c36", 5, [], 669, false, "juCA2bsj1Y0", "https://www.youtube.com/watch?v=juCA2bsj1Y0", 18, "/downloads/shows/TechLinked/Season 2026/s2026e030500 - Yes, Apple. Good..mkv", false, false, false, 98, ~U[2026-03-05 04:46:29Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Focus on your meetings, not your notes, with Circleback. Try it FREE for 30 days using code TECHLINKED: https://circleback.ai?utm_source=youtube&utm_medium=paid_video&utm_campaign=techlinked\n\nNEWS SOURCES: https://lmg.gg/23Aj3\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► DIVE DEEPER ON THE LTT LABS WEBSITE: https://lmg.gg/labs\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 I'm just ASKING\n0:18 Macbook Neo, M5 Pro, M5 Max\n2:38 OpenAI manages Anthropic backlash\n4:31 Meta Glasses videos exposed?\n7:05 QUICK BITS INTRO\n7:12 Windows 12 this year NOT\n7:54 Pixels get Android desktop mode\n8:27 Scalper bots making RAM crisis worse\n9:11 'Coruna' iPhone exploits\n10:04 Xiaomi has robot 'interns'", "Yes, Apple. Good.", 5, 669, false, "juCA2bsj1Y0", "https://www.youtube.com/watch?v=juCA2bsj1Y0", "/downloads/shows/TechLinked/Season 2026/s2026e030500 - Yes, Apple. Good..mkv", false, ~U[2026-03-05 04:46:29Z]] 01:04:14.753 [debug] QUERY OK source="sources" db=0.7ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.757 [debug] QUERY OK source="media_items" db=3.2ms idle=7.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-03 04:32:35Z], 5] 01:04:14.759 [debug] QUERY OK source="media_items" db=1.0ms idle=10.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Join one of the most comprehensive vehicle combat games ever made. Play War Thunder for FREE on PC, PlayStation, Xbox, and mobile, and unlock a massive bonus pack including vehicles, boosters and more using our links!\n\nPC/Console: https://playwt.link/techlinked \nMobile: https://wtm.game/techlinked\n\nNEWS SOURCES: https://lmg.gg/0w8kw\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 you're stronger than you know :) \n0:14 'Microslop' banned in Copilot Discord\n1:21 MWC - the normal stuff\n3:02 MWC - the weird stuff\n6:15 QUICK BITS INTRO\n6:28 Ryzen AI 400 PRO chips\n7:03 California OS age verification law\n7:47 YouTube Shorts AI tests\n8:22 Omar Yaghi's water harvesting machine\n9:03 CDE Time Capsule", "Cry Harder, Microsoft", "e79cdf4a-d004-43db-9777-0d4b025d97ce", 5, [], 613, false, "AiEWhMkINuw", "https://www.youtube.com/watch?v=AiEWhMkINuw", 19, "/downloads/shows/TechLinked/Season 2026/s2026e030300 - Cry Harder, Microsoft.mkv", false, false, false, 98, ~U[2026-03-03 04:32:35Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Join one of the most comprehensive vehicle combat games ever made. Play War Thunder for FREE on PC, PlayStation, Xbox, and mobile, and unlock a massive bonus pack including vehicles, boosters and more using our links!\n\nPC/Console: https://playwt.link/techlinked \nMobile: https://wtm.game/techlinked\n\nNEWS SOURCES: https://lmg.gg/0w8kw\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 you're stronger than you know :) \n0:14 'Microslop' banned in Copilot Discord\n1:21 MWC - the normal stuff\n3:02 MWC - the weird stuff\n6:15 QUICK BITS INTRO\n6:28 Ryzen AI 400 PRO chips\n7:03 California OS age verification law\n7:47 YouTube Shorts AI tests\n8:22 Omar Yaghi's water harvesting machine\n9:03 CDE Time Capsule", "Cry Harder, Microsoft", 5, 613, false, "AiEWhMkINuw", "https://www.youtube.com/watch?v=AiEWhMkINuw", "/downloads/shows/TechLinked/Season 2026/s2026e030300 - Cry Harder, Microsoft.mkv", false, ~U[2026-03-03 04:32:35Z]] 01:04:14.759 [debug] QUERY OK source="sources" db=0.5ms idle=8.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.763 [debug] QUERY OK source="media_items" db=3.2ms idle=7.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-28 05:40:59Z], 5] 01:04:14.767 [debug] QUERY OK source="media_items" db=3.4ms idle=9.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Minimal, Functional, and Pocketable AF. Get 20% off the Ohsnap Snap Grip Stand with code \"earlyaccess\" using our link: https://lmg.gg/WNm7j\n\nNEWS SOURCES: https://lmg.gg/BaEmc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 it's like it never ends!\n0:09 Lenovo Legion Go Fold\n1:39 Anthropic rejects Pentagon \n3:04 Meta AI Safety head gets OpenClaw'd\n5:51 QUICK BITS INTRO\n6:04 Nvidia SHIELD TV gets another update\n6:43 Nvidia GPU driver causes fan issues\n7:24 Block cuts nearly half workforce\n8:07 Tecno modular phone conccept\n8:38 Burger King AI headsets", "Did Anyone Ask For This?", "76d08c5e-dbeb-440c-b5f4-39daf5dff286", 5, [], 568, false, "pMPsKGsi45U", "https://www.youtube.com/watch?v=pMPsKGsi45U", 20, "/downloads/shows/TechLinked/Season 2026/s2026e022800 - Did Anyone Ask For This?.mkv", false, false, false, 98, ~U[2026-02-28 05:40:59Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Minimal, Functional, and Pocketable AF. Get 20% off the Ohsnap Snap Grip Stand with code \"earlyaccess\" using our link: https://lmg.gg/WNm7j\n\nNEWS SOURCES: https://lmg.gg/BaEmc\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 it's like it never ends!\n0:09 Lenovo Legion Go Fold\n1:39 Anthropic rejects Pentagon \n3:04 Meta AI Safety head gets OpenClaw'd\n5:51 QUICK BITS INTRO\n6:04 Nvidia SHIELD TV gets another update\n6:43 Nvidia GPU driver causes fan issues\n7:24 Block cuts nearly half workforce\n8:07 Tecno modular phone conccept\n8:38 Burger King AI headsets", "Did Anyone Ask For This?", 5, 568, false, "pMPsKGsi45U", "https://www.youtube.com/watch?v=pMPsKGsi45U", "/downloads/shows/TechLinked/Season 2026/s2026e022800 - Did Anyone Ask For This?.mkv", false, ~U[2026-02-28 05:40:59Z]] 01:04:14.768 [debug] QUERY OK source="sources" db=0.5ms idle=10.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 01:04:14.771 [debug] QUERY OK source="media_items" db=3.3ms idle=9.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 05:23:39Z], 5] 01:04:14.773 [debug] QUERY OK source="media_items" db=1.0ms idle=12.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/x2boW\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 National Technographic\n0:15 Fresh Nvidia N1X leaks, job listings\n1:47 Galaxy Unpacked 2026 highlights: S26 Ultra\n4:21 DoD vs Anthropic \n8:18 QUICK BITS INTRO\n8:31 Discord delays global age verification \n9:20 Misleading OneDrive 'storage' listings\n10:12 Farmers refuse to sell land for data centers\n10:52 Panasonic TV deal with 'Skyworth'\n11:48 Spotify x Liquid Death Eternal Playlist Urn", "Nvidia could turn this whole thing around", "e5a29b6e-42b9-4014-b700-3a2cf1b6200e", 5, [], 780, false, "JTd66EKRrqk", "https://www.youtube.com/watch?v=JTd66EKRrqk", 21, "/downloads/shows/TechLinked/Season 2026/s2026e022600 - Nvidia could turn this whole thing around.mkv", false, false, false, 98, ~U[2026-02-26 05:23:39Z], ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], "Get a free 15-day trial of Odoo’s all-in-one business solution and see how it can make your life easier! Check it out at https://www.odoo.com/r/mFDe\n\nNEWS SOURCES: https://lmg.gg/x2boW\n\n► SHOP OUR PRODUCTS: https://lttstore.com\n► GET EXCLUSIVE CONTENT ON FLOATPLANE: https://lmg.gg/lttfloatplane\n► GET A VPN: https://www.piavpn.com/TechLinked\n► LISTEN TO THE TECH NEWS: https://lmg.gg/TLPodcast\n► SPONSORS, AFFILIATES, AND PARTNERS: https://lmg.gg/partners\n► OUR PODCAST GEAR: https://lmg.gg/podcastgear\n\n---------------------------------------------------\nTimestamps:\n0:00 National Technographic\n0:15 Fresh Nvidia N1X leaks, job listings\n1:47 Galaxy Unpacked 2026 highlights: S26 Ultra\n4:21 DoD vs Anthropic \n8:18 QUICK BITS INTRO\n8:31 Discord delays global age verification \n9:20 Misleading OneDrive 'storage' listings\n10:12 Farmers refuse to sell land for data centers\n10:52 Panasonic TV deal with 'Skyworth'\n11:48 Spotify x Liquid Death Eternal Playlist Urn", "Nvidia could turn this whole thing around", 5, 780, false, "JTd66EKRrqk", "https://www.youtube.com/watch?v=JTd66EKRrqk", "/downloads/shows/TechLinked/Season 2026/s2026e022600 - Nvidia could turn this whole thing around.mkv", false, ~U[2026-02-26 05:23:39Z]] 01:04:14.774 [debug] QUERY OK source="sources" db=0.5ms idle=10.5ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z], 5] 01:04:14.778 [debug] QUERY OK source="media_items" db=3.9ms idle=7.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [5] 01:04:14.783 [debug] QUERY OK source="media_items" db=3.9ms idle=7.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [5] 01:04:14.783 [debug] QUERY OK source="media_items" db=0.2ms idle=9.8ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [5] 01:04:14.783 [info] No notification servers provided for source 5 01:04:14.785 [debug] QUERY OK source="tasks" db=0.5ms idle=6.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [4850, 5, ~U[2026-04-16 23:04:14Z], ~U[2026-04-16 23:04:14Z]] 01:04:14.786 [info] {"args":{"id":5},"id":4838,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":72144606,"event":"job:stop","queue_time":90329,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 01:04:31.946 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:00.197 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:05:01.947 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:05:31.948 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:00.198 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:06:01.948 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:06:31.949 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:00.199 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:07:01.951 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:07:31.952 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:00.200 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:08:01.954 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:08:31.955 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:00.201 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:09:01.956 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:09:31.957 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:00.202 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:10:01.958 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:10:31.959 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:00.203 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:11:01.960 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:11:31.961 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:00.204 [info] {"source":"oban","duration":239,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:12:01.962 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:12:31.963 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:00.205 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:13:01.964 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:13:31.965 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:00.206 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:14:01.966 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:14:31.967 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:00.207 [info] {"source":"oban","duration":251,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:15:01.968 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:15:31.969 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:00.208 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:16:01.970 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:16:31.971 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:00.209 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:17:01.972 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:17:31.973 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:00.210 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:18:01.974 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:18:31.975 [info] {"source":"oban","duration":640,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:00.211 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:19:01.976 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:19:31.977 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:00.212 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:20:01.978 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:20:31.979 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:00.213 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:21:01.980 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:21:31.981 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:00.214 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:22:01.981 [info] {"source":"oban","duration":593,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:22:31.983 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:00.215 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:23:01.983 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:23:31.985 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:00.216 [info] {"source":"oban","duration":237,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:24:01.986 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:24:31.987 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:00.217 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:25:01.988 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:25:31.989 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:00.218 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:26:01.990 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:26:31.991 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:00.220 [info] {"source":"oban","duration":92,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:27:01.992 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:27:31.993 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:00.220 [info] {"source":"oban","duration":228,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:28:01.994 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:28:31.995 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:00.221 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:29:01.996 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:29:31.997 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:00.222 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:30:01.998 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:30:32.000 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:00.223 [info] {"source":"oban","duration":244,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:31:02.001 [info] {"source":"oban","duration":819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:31:32.002 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:00.224 [info] {"source":"oban","duration":238,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:32:02.003 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:32.004 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:32:41.615 [info] {"args":{"id":10},"id":4839,"meta":{},"system_time":1776382361615076094,"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"]} 01:32:41.615 [debug] QUERY OK source="sources" db=0.2ms idle=1634.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:32:41.616 [debug] QUERY OK source="settings" db=0.1ms idle=1635.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:32:41.618 [debug] QUERY OK source="media_items" db=2.2ms idle=1008.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [10] 01:32:41.619 [debug] QUERY OK source="media_items" db=0.2ms idle=9.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [10] 01:32:41.619 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:32:41.619 [debug] QUERY OK source="settings" db=0.0ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:32:41.620 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:32:41.623 [debug] QUERY OK source="media_items" db=2.2ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [10] 01:32:41.625 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 01:32:41.625 [debug] Current batch of media processed. Will check again in 1000ms 01:32:41.625 [debug] QUERY OK source="settings" db=0.1ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 01:32:41.626 [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 [] 01:32:41.626 [debug] QUERY OK source="settings" db=0.2ms 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 [] 01:32:41.626 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@ZoeSugg/ --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Zoe sugg/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/27/5e/275e8f075d62aae5b8d659d618068310202281bb595640527ccff61cc896e7de.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/55/55/5555c829281355dfc727ad766d6ae3fc2f3109ba2cf9ebe66249ee8e374ff567.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 01:32:42.626 [debug] Current batch of media processed. Will check again in 1000ms 01:32:43.627 [debug] Current batch of media processed. Will check again in 1000ms 01:32:44.628 [debug] Current batch of media processed. Will check again in 1000ms 01:32:45.629 [debug] Current batch of media processed. Will check again in 1000ms 01:32:46.630 [debug] Current batch of media processed. Will check again in 1000ms 01:32:47.631 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "The Christmas Eve Finale, Family Games & Secret Santa | Vlogmas Day 24\n\nThank you so much for watching, commenting, liking, sharing and just generally being a part of this lovely community over here! You guys really are the best. We wish you the happiest of Christmasses and we'll see you in 2026! 🎉 \n\nhttps://dearsunday.com/ \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 2549, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e122500 - The Christmas Eve Finale, Family Games & Secret Santa | Vlogmas Day 24.mp4", "id" => "sdK60dcFiY4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sdK60dcFiY4", "playlist_index" => 1, "timestamp" => 1766679540, "title" => "The Christmas Eve Finale, Family Games & Secret Santa | Vlogmas Day 24", "upload_date" => "20251225"} 01:32:47.632 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=651.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:32:47.632 [debug] QUERY OK source="sources" db=0.1ms idle=651.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:32:47.634 [debug] QUERY OK source="media_items" db=1.5ms idle=652.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-25 16:19:00Z], 10] 01:32:47.636 [debug] QUERY OK source="media_items" db=1.3ms idle=654.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Christmas Eve Finale, Family Games & Secret Santa | Vlogmas Day 24\n\nThank you so much for watching, commenting, liking, sharing and just generally being a part of this lovely community over here! You guys really are the best. We wish you the happiest of Christmasses and we'll see you in 2026! 🎉 \n\nhttps://dearsunday.com/ \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "The Christmas Eve Finale, Family Games & Secret Santa | Vlogmas Day 24", "01eb7ff2-ac66-4462-8bf0-486ab29dd47c", 10, [], 2549, false, "sdK60dcFiY4", "https://www.youtube.com/watch?v=sdK60dcFiY4", 1, "/downloads/shows/Zoe sugg/Season 2025/s2025e122500 - The Christmas Eve Finale, Family Games & Secret Santa | Vlogmas Day 24.mp4", false, false, false, 98, ~U[2025-12-25 16:19:00Z], ~U[2026-04-16 23:32:47Z], ~U[2026-04-16 23:32:47Z], "The Christmas Eve Finale, Family Games & Secret Santa | Vlogmas Day 24\n\nThank you so much for watching, commenting, liking, sharing and just generally being a part of this lovely community over here! You guys really are the best. We wish you the happiest of Christmasses and we'll see you in 2026! 🎉 \n\nhttps://dearsunday.com/ \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "The Christmas Eve Finale, Family Games & Secret Santa | Vlogmas Day 24", 10, 2549, false, "sdK60dcFiY4", "https://www.youtube.com/watch?v=sdK60dcFiY4", "/downloads/shows/Zoe sugg/Season 2025/s2025e122500 - The Christmas Eve Finale, Family Games & Secret Santa | Vlogmas Day 24.mp4", false, ~U[2025-12-25 16:19:00Z]] 01:32:47.636 [debug] QUERY OK source="sources" db=0.1ms idle=18.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:32:47.637 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:32:47.637 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [112653] 01:32:47.637 [debug] Current batch of media processed. Will check again in 1000ms 01:32:48.638 [debug] Current batch of media processed. Will check again in 1000ms 01:32:49.639 [debug] Current batch of media processed. Will check again in 1000ms 01:32:50.640 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Christmas Food Shop & Best Question Yet | Vlogmas Day 23\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ M&S – https://bit.ly/4sbta0n\n↠ BW Collective – https://bit.ly/3La4Ye5 \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Faded Apricot Cap – Dear Sunday – https://bit.ly/4jeEeGb \n⇢ Hoodie in Fern – Dear Sunday – https://bit.ly/4rH7x7W \n⇢ Oversized White Sweatshirt – ASOS – https://go.shopmy.us/p-29019412 \n⇢ Leopard Print Jacket – ASOS – https://go.shopmy.us/p-36402911 (similar)\n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n⇢ Green Knit Jumper – Topshop – https://go.shopmy.us/p-26422964 \n⇢ Oura Ring – https://go.shopmy.us/p-14952914 \n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Blue Hooded Puffer Coat – M&S – https://go.shopmy.us/p-34738074 \n⇢ Pink Puffer Coat – Zara Kids – https://bit.ly/4p5MgTr\n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 2203, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e122400 - Christmas Food Shop & Best Question Yet | Vlogmas Day 23.mp4", "id" => "-p-HlChQmXg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-p-HlChQmXg", "playlist_index" => 2, "timestamp" => 1766595602, "title" => "Christmas Food Shop & Best Question Yet | Vlogmas Day 23", "upload_date" => "20251224"} 01:32:50.641 [debug] QUERY OK source="sources" db=0.2ms idle=1658.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:32:50.641 [debug] QUERY OK source="sources" db=0.1ms idle=1659.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:32:50.643 [debug] QUERY OK source="media_items" db=1.5ms idle=1659.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-24 17:00:02Z], 10] 01:32:50.645 [debug] QUERY OK source="media_items" db=1.2ms idle=1022.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Christmas Food Shop & Best Question Yet | Vlogmas Day 23\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ M&S – https://bit.ly/4sbta0n\n↠ BW Collective – https://bit.ly/3La4Ye5 \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Faded Apricot Cap – Dear Sunday – https://bit.ly/4jeEeGb \n⇢ Hoodie in Fern – Dear Sunday – https://bit.ly/4rH7x7W \n⇢ Oversized White Sweatshirt – ASOS – https://go.shopmy.us/p-29019412 \n⇢ Leopard Print Jacket – ASOS – https://go.shopmy.us/p-36402911 (similar)\n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n⇢ Green Knit Jumper – Topshop – https://go.shopmy.us/p-26422964 \n⇢ Oura Ring – https://go.shopmy.us/p-14952914 \n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Blue Hooded Puffer Coat – M&S – https://go.shopmy.us/p-34738074 \n⇢ Pink Puffer Coat – Zara Kids – https://bit.ly/4p5MgTr\n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Christmas Food Shop & Best Question Yet | Vlogmas Day 23", "93fe6a67-a2bc-4cc6-bf14-910bbbf6b8d6", 10, [], 2203, false, "-p-HlChQmXg", "https://www.youtube.com/watch?v=-p-HlChQmXg", 2, "/downloads/shows/Zoe sugg/Season 2025/s2025e122400 - Christmas Food Shop & Best Question Yet | Vlogmas Day 23.mp4", false, false, false, 98, ~U[2025-12-24 17:00:02Z], ~U[2026-04-16 23:32:50Z], ~U[2026-04-16 23:32:50Z], "Christmas Food Shop & Best Question Yet | Vlogmas Day 23\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ M&S – https://bit.ly/4sbta0n\n↠ BW Collective – https://bit.ly/3La4Ye5 \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Faded Apricot Cap – Dear Sunday – https://bit.ly/4jeEeGb \n⇢ Hoodie in Fern – Dear Sunday – https://bit.ly/4rH7x7W \n⇢ Oversized White Sweatshirt – ASOS – https://go.shopmy.us/p-29019412 \n⇢ Leopard Print Jacket – ASOS – https://go.shopmy.us/p-36402911 (similar)\n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n⇢ Green Knit Jumper – Topshop – https://go.shopmy.us/p-26422964 \n⇢ Oura Ring – https://go.shopmy.us/p-14952914 \n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Blue Hooded Puffer Coat – M&S – https://go.shopmy.us/p-34738074 \n⇢ Pink Puffer Coat – Zara Kids – https://bit.ly/4p5MgTr\n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Christmas Food Shop & Best Question Yet | Vlogmas Day 23", 10, 2203, false, "-p-HlChQmXg", "https://www.youtube.com/watch?v=-p-HlChQmXg", "/downloads/shows/Zoe sugg/Season 2025/s2025e122400 - Christmas Food Shop & Best Question Yet | Vlogmas Day 23.mp4", false, ~U[2025-12-24 17:00:02Z]] 01:32:50.645 [debug] QUERY OK source="sources" db=0.3ms idle=23.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:32:50.646 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:32:50.646 [debug] QUERY OK source="media_items" db=0.2ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [112201] 01:32:50.646 [debug] Current batch of media processed. Will check again in 1000ms 01:32:51.647 [debug] Current batch of media processed. Will check again in 1000ms 01:32:52.648 [debug] Current batch of media processed. Will check again in 1000ms 01:32:53.649 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Wrapping Christmas Presents & Surprise Gift | Vlogmas Day 22\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Oeuf – https://oeuf.cafe/ \n↠ Dominos – https://www.dominos.co.uk/ \n↠ Le Toy Van Showtime Puppet Theatre – https://go.shopmy.us/p-36402776 \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Leopard Print Jacket – ASOS – https://go.shopmy.us/p-36402911 (similar)\n⇢ Faded Apricot Cap – Dear Sunday – https://bit.ly/4jeEeGb \n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n\nK I D S :\n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-35601323 \n⇢ Cats Sweatshirt – Konges Sloejd – https://go.shopmy.us/p-36403095 \n⇢ Rex Moon Trousers – Claude & Co – https://go.shopmy.us/p-30350431 \n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 2187, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e122300 - Wrapping Christmas Presents & Surprise Gift | Vlogmas Day 22.mp4", "id" => "yWV4qFgVWsY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yWV4qFgVWsY", "playlist_index" => 3, "timestamp" => 1766509204, "title" => "Wrapping Christmas Presents & Surprise Gift | Vlogmas Day 22", "upload_date" => "20251223"} 01:32:53.650 [debug] QUERY OK source="sources" db=0.1ms idle=1668.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:32:53.650 [debug] QUERY OK source="sources" db=0.1ms idle=1668.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:32:53.652 [debug] QUERY OK source="media_items" db=1.6ms idle=1669.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-23 17:00:04Z], 10] 01:32:53.654 [debug] QUERY OK source="media_items" db=1.2ms idle=1027.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Wrapping Christmas Presents & Surprise Gift | Vlogmas Day 22\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Oeuf – https://oeuf.cafe/ \n↠ Dominos – https://www.dominos.co.uk/ \n↠ Le Toy Van Showtime Puppet Theatre – https://go.shopmy.us/p-36402776 \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Leopard Print Jacket – ASOS – https://go.shopmy.us/p-36402911 (similar)\n⇢ Faded Apricot Cap – Dear Sunday – https://bit.ly/4jeEeGb \n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n\nK I D S :\n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-35601323 \n⇢ Cats Sweatshirt – Konges Sloejd – https://go.shopmy.us/p-36403095 \n⇢ Rex Moon Trousers – Claude & Co – https://go.shopmy.us/p-30350431 \n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Wrapping Christmas Presents & Surprise Gift | Vlogmas Day 22", "90c8c6cd-df5c-4d83-bb63-13394aa7c661", 10, [], 2187, false, "yWV4qFgVWsY", "https://www.youtube.com/watch?v=yWV4qFgVWsY", 3, "/downloads/shows/Zoe sugg/Season 2025/s2025e122300 - Wrapping Christmas Presents & Surprise Gift | Vlogmas Day 22.mp4", false, false, false, 98, ~U[2025-12-23 17:00:04Z], ~U[2026-04-16 23:32:53Z], ~U[2026-04-16 23:32:53Z], "Wrapping Christmas Presents & Surprise Gift | Vlogmas Day 22\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Oeuf – https://oeuf.cafe/ \n↠ Dominos – https://www.dominos.co.uk/ \n↠ Le Toy Van Showtime Puppet Theatre – https://go.shopmy.us/p-36402776 \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Leopard Print Jacket – ASOS – https://go.shopmy.us/p-36402911 (similar)\n⇢ Faded Apricot Cap – Dear Sunday – https://bit.ly/4jeEeGb \n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n\nK I D S :\n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-35601323 \n⇢ Cats Sweatshirt – Konges Sloejd – https://go.shopmy.us/p-36403095 \n⇢ Rex Moon Trousers – Claude & Co – https://go.shopmy.us/p-30350431 \n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Wrapping Christmas Presents & Surprise Gift | Vlogmas Day 22", 10, 2187, false, "yWV4qFgVWsY", "https://www.youtube.com/watch?v=yWV4qFgVWsY", "/downloads/shows/Zoe sugg/Season 2025/s2025e122300 - Wrapping Christmas Presents & Surprise Gift | Vlogmas Day 22.mp4", false, ~U[2025-12-23 17:00:04Z]] 01:32:53.654 [debug] QUERY OK source="sources" db=0.2ms idle=28.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:32:53.655 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:32:53.655 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [111784] 01:32:53.656 [debug] Current batch of media processed. Will check again in 1000ms 01:32:54.656 [debug] Current batch of media processed. Will check again in 1000ms 01:32:55.657 [debug] Current batch of media processed. Will check again in 1000ms 01:32:56.658 [debug] Current batch of media processed. Will check again in 1000ms 01:32:57.659 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Decorating The Mouse House For Christmas & Splashing In Muddy Puddles | Vlogmas Day 21\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ String Lights – https://go.shopmy.us/p-36312698 (similar)\n↠ Christmas House Set – https://bit.ly/3L3Gm6T\n↠ Santa Maileg Mouse – Junior Edition – https://bit.ly/4rzbcEL\n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n↠ Vlogmas Intro Animation by Rosie Miles – https://bit.ly/4f3p8iJ\n↠ Vlogmas Intro Illustration BTS – https://bit.ly/49mcoEm \n\nW E A R I N G :\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n⇢ Green Parka – Sea Salt Cornwall – https://go.shopmy.us/p-34403431 \n\nK I D S :\n⇢ Orange Autumnal PJs – Next – https://go.shopmy.us/p-36311946\n⇢ Discoball Baby Bibs with Sleeves – https://amzn.to/495ZcC6\n⇢ Muddy Puddles Blue Suit – Next – https://go.shopmy.us/p-36313183\n⇢ Muddy Puddles Pink Star Suit – Next – https://go.shopmy.us/p-36313264 \n⇢ Duck Wellies – Jojo Maman Bebe – https://go.shopmy.us/p-26425775 \n⇢ Ladybird Wellies – Next – https://go.shopmy.us/p-26425857 \n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-35601323 \n⇢ Guinea Pig Santa PJs – George at Asda – https://go.shopmy.us/p-36225878 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 2444, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e122200 - Decorating The Mouse House For Christmas & Splashing In Muddy Puddles | Vlogmas Day 21.mp4", "id" => "cHNVOhiiTD0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cHNVOhiiTD0", "playlist_index" => 4, "timestamp" => 1766422802, "title" => "Decorating The Mouse House For Christmas & Splashing In Muddy Puddles | Vlogmas Day 21", "upload_date" => "20251222"} 01:32:57.660 [debug] QUERY OK source="sources" db=0.2ms idle=643.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:32:57.660 [debug] QUERY OK source="sources" db=0.2ms idle=644.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:32:57.663 [debug] QUERY OK source="media_items" db=1.8ms idle=644.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-22 17:00:02Z], 10] 01:32:57.666 [debug] QUERY OK source="media_items" db=2.1ms idle=647.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Decorating The Mouse House For Christmas & Splashing In Muddy Puddles | Vlogmas Day 21\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ String Lights – https://go.shopmy.us/p-36312698 (similar)\n↠ Christmas House Set – https://bit.ly/3L3Gm6T\n↠ Santa Maileg Mouse – Junior Edition – https://bit.ly/4rzbcEL\n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n↠ Vlogmas Intro Animation by Rosie Miles – https://bit.ly/4f3p8iJ\n↠ Vlogmas Intro Illustration BTS – https://bit.ly/49mcoEm \n\nW E A R I N G :\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n⇢ Green Parka – Sea Salt Cornwall – https://go.shopmy.us/p-34403431 \n\nK I D S :\n⇢ Orange Autumnal PJs – Next – https://go.shopmy.us/p-36311946\n⇢ Discoball Baby Bibs with Sleeves – https://amzn.to/495ZcC6\n⇢ Muddy Puddles Blue Suit – Next – https://go.shopmy.us/p-36313183\n⇢ Muddy Puddles Pink Star Suit – Next – https://go.shopmy.us/p-36313264 \n⇢ Duck Wellies – Jojo Maman Bebe – https://go.shopmy.us/p-26425775 \n⇢ Ladybird Wellies – Next – https://go.shopmy.us/p-26425857 \n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-35601323 \n⇢ Guinea Pig Santa PJs – George at Asda – https://go.shopmy.us/p-36225878 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Decorating The Mouse House For Christmas & Splashing In Muddy Puddles | Vlogmas Day 21", "3b91a4d2-22b4-45a8-99f4-fdc1e4d7e45e", 10, [], 2444, false, "cHNVOhiiTD0", "https://www.youtube.com/watch?v=cHNVOhiiTD0", 4, "/downloads/shows/Zoe sugg/Season 2025/s2025e122200 - Decorating The Mouse House For Christmas & Splashing In Muddy Puddles | Vlogmas Day 21.mp4", false, false, false, 98, ~U[2025-12-22 17:00:02Z], ~U[2026-04-16 23:32:57Z], ~U[2026-04-16 23:32:57Z], "Decorating The Mouse House For Christmas & Splashing In Muddy Puddles | Vlogmas Day 21\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ String Lights – https://go.shopmy.us/p-36312698 (similar)\n↠ Christmas House Set – https://bit.ly/3L3Gm6T\n↠ Santa Maileg Mouse – Junior Edition – https://bit.ly/4rzbcEL\n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n↠ Vlogmas Intro Animation by Rosie Miles – https://bit.ly/4f3p8iJ\n↠ Vlogmas Intro Illustration BTS – https://bit.ly/49mcoEm \n\nW E A R I N G :\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n⇢ Green Parka – Sea Salt Cornwall – https://go.shopmy.us/p-34403431 \n\nK I D S :\n⇢ Orange Autumnal PJs – Next – https://go.shopmy.us/p-36311946\n⇢ Discoball Baby Bibs with Sleeves – https://amzn.to/495ZcC6\n⇢ Muddy Puddles Blue Suit – Next – https://go.shopmy.us/p-36313183\n⇢ Muddy Puddles Pink Star Suit – Next – https://go.shopmy.us/p-36313264 \n⇢ Duck Wellies – Jojo Maman Bebe – https://go.shopmy.us/p-26425775 \n⇢ Ladybird Wellies – Next – https://go.shopmy.us/p-26425857 \n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-35601323 \n⇢ Guinea Pig Santa PJs – George at Asda – https://go.shopmy.us/p-36225878 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Decorating The Mouse House For Christmas & Splashing In Muddy Puddles | Vlogmas Day 21", 10, 2444, false, "cHNVOhiiTD0", "https://www.youtube.com/watch?v=cHNVOhiiTD0", "/downloads/shows/Zoe sugg/Season 2025/s2025e122200 - Decorating The Mouse House For Christmas & Splashing In Muddy Puddles | Vlogmas Day 21.mp4", false, ~U[2025-12-22 17:00:02Z]] 01:32:57.666 [debug] QUERY OK source="sources" db=0.2ms idle=35.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:32:57.667 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:32:57.667 [debug] QUERY OK source="media_items" db=0.3ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [111365] 01:32:57.668 [debug] Current batch of media processed. Will check again in 1000ms 01:32:58.671 [debug] Current batch of media processed. Will check again in 1000ms 01:32:59.673 [debug] Current batch of media processed. Will check again in 1000ms 01:33:00.225 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:33:00.674 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Beachside Brunch, Crafty Afternoon & Twenty Year Upload Plan | Vlogmas Day 20\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n↠ Christmas Tree Magic Wand – https://bit.ly/44mFPDy \n↠ Lip Cheat Contour DUO Tan/Medium – Charlotte Tilbury – https://go.shopmy.us/p-35021618 \n↠ Honey Infused Lip Oil – Gisou – https://go.shopmy.us/p-36226024 \n↠ Reading Room – https://bit.ly/4j9p0Cc\n↠ Gingerbread House – Søstrene Grene – https://go.shopmy.us/p-36226132 \n\nW E A R I N G :\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Triangle Brown Scarf – TBCo – https://go.shopmy.us/p-34129344\n⇢ Brown Striped Knitted Cardigan – ASOS – https://go.shopmy.us/p-30350210 \n⇢ Suede Bomber Brown Jacket – Zara – https://bit.ly/44UkEZz\n⇢ Sunglasses – Ace & Tate – Jack (OOS) / Eleanor – https://go.shopmy.us/p-26425554 (similar) \n⇢ Cream Barrel Jeans – ASOS – https://go.shopmy.us/p-28698841 \n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n\nK I D S :\n⇢ Guinea Pig Santa PJs – George at Asda – https://go.shopmy.us/p-36225878 \n⇢ Red Striped Dungarees – Zara – https://bit.ly/3MO5yyP \n⇢ Green Corduroy Trousers – Next – https://go.shopmy.us/p-26426170\n⇢ Christmas Jumper (old) – Little Worne Store – https://go.shopmy.us/p-34403044 (similar)\n⇢ Embroidered Padded Teddy Vest – TinyCottons – https://go.shopmy.us/p-36226531 \n⇢ Brown Sweatshirt – Tiny Colours – https://go.shopmy.us/p-28829593 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 2350, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e122100 - Beachside Brunch, Crafty Afternoon & Twenty Year Upload Plan | Vlogmas Day 20.mp4", "id" => "4_uYCf7FR2E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4_uYCf7FR2E", "playlist_index" => 5, "timestamp" => 1766336405, "title" => "Beachside Brunch, Crafty Afternoon & Twenty Year Upload Plan | Vlogmas Day 20", "upload_date" => "20251221"} 01:33:00.675 [debug] QUERY OK source="sources" db=0.3ms idle=1658.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:00.675 [debug] QUERY OK source="sources" db=0.1ms idle=1658.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:00.677 [debug] QUERY OK source="media_items" db=1.6ms idle=1041.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-21 17:00:05Z], 10] 01:33:00.679 [debug] QUERY OK source="media_items" db=1.4ms idle=452.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Beachside Brunch, Crafty Afternoon & Twenty Year Upload Plan | Vlogmas Day 20\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n↠ Christmas Tree Magic Wand – https://bit.ly/44mFPDy \n↠ Lip Cheat Contour DUO Tan/Medium – Charlotte Tilbury – https://go.shopmy.us/p-35021618 \n↠ Honey Infused Lip Oil – Gisou – https://go.shopmy.us/p-36226024 \n↠ Reading Room – https://bit.ly/4j9p0Cc\n↠ Gingerbread House – Søstrene Grene – https://go.shopmy.us/p-36226132 \n\nW E A R I N G :\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Triangle Brown Scarf – TBCo – https://go.shopmy.us/p-34129344\n⇢ Brown Striped Knitted Cardigan – ASOS – https://go.shopmy.us/p-30350210 \n⇢ Suede Bomber Brown Jacket – Zara – https://bit.ly/44UkEZz\n⇢ Sunglasses – Ace & Tate – Jack (OOS) / Eleanor – https://go.shopmy.us/p-26425554 (similar) \n⇢ Cream Barrel Jeans – ASOS – https://go.shopmy.us/p-28698841 \n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n\nK I D S :\n⇢ Guinea Pig Santa PJs – George at Asda – https://go.shopmy.us/p-36225878 \n⇢ Red Striped Dungarees – Zara – https://bit.ly/3MO5yyP \n⇢ Green Corduroy Trousers – Next – https://go.shopmy.us/p-26426170\n⇢ Christmas Jumper (old) – Little Worne Store – https://go.shopmy.us/p-34403044 (similar)\n⇢ Embroidered Padded Teddy Vest – TinyCottons – https://go.shopmy.us/p-36226531 \n⇢ Brown Sweatshirt – Tiny Colours – https://go.shopmy.us/p-28829593 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Beachside Brunch, Crafty Afternoon & Twenty Year Upload Plan | Vlogmas Day 20", "b25ccc4e-981b-4044-94b6-00c60ac42a7b", 10, [], 2350, false, "4_uYCf7FR2E", "https://www.youtube.com/watch?v=4_uYCf7FR2E", 5, "/downloads/shows/Zoe sugg/Season 2025/s2025e122100 - Beachside Brunch, Crafty Afternoon & Twenty Year Upload Plan | Vlogmas Day 20.mp4", false, false, false, 98, ~U[2025-12-21 17:00:05Z], ~U[2026-04-16 23:33:00Z], ~U[2026-04-16 23:33:00Z], "Beachside Brunch, Crafty Afternoon & Twenty Year Upload Plan | Vlogmas Day 20\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n↠ Christmas Tree Magic Wand – https://bit.ly/44mFPDy \n↠ Lip Cheat Contour DUO Tan/Medium – Charlotte Tilbury – https://go.shopmy.us/p-35021618 \n↠ Honey Infused Lip Oil – Gisou – https://go.shopmy.us/p-36226024 \n↠ Reading Room – https://bit.ly/4j9p0Cc\n↠ Gingerbread House – Søstrene Grene – https://go.shopmy.us/p-36226132 \n\nW E A R I N G :\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Triangle Brown Scarf – TBCo – https://go.shopmy.us/p-34129344\n⇢ Brown Striped Knitted Cardigan – ASOS – https://go.shopmy.us/p-30350210 \n⇢ Suede Bomber Brown Jacket – Zara – https://bit.ly/44UkEZz\n⇢ Sunglasses – Ace & Tate – Jack (OOS) / Eleanor – https://go.shopmy.us/p-26425554 (similar) \n⇢ Cream Barrel Jeans – ASOS – https://go.shopmy.us/p-28698841 \n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n\nK I D S :\n⇢ Guinea Pig Santa PJs – George at Asda – https://go.shopmy.us/p-36225878 \n⇢ Red Striped Dungarees – Zara – https://bit.ly/3MO5yyP \n⇢ Green Corduroy Trousers – Next – https://go.shopmy.us/p-26426170\n⇢ Christmas Jumper (old) – Little Worne Store – https://go.shopmy.us/p-34403044 (similar)\n⇢ Embroidered Padded Teddy Vest – TinyCottons – https://go.shopmy.us/p-36226531 \n⇢ Brown Sweatshirt – Tiny Colours – https://go.shopmy.us/p-28829593 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Beachside Brunch, Crafty Afternoon & Twenty Year Upload Plan | Vlogmas Day 20", 10, 2350, false, "4_uYCf7FR2E", "https://www.youtube.com/watch?v=4_uYCf7FR2E", "/downloads/shows/Zoe sugg/Season 2025/s2025e122100 - Beachside Brunch, Crafty Afternoon & Twenty Year Upload Plan | Vlogmas Day 20.mp4", false, ~U[2025-12-21 17:00:05Z]] 01:33:00.680 [debug] QUERY OK source="sources" db=0.1ms idle=44.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:00.680 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:33:00.681 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110949] 01:33:00.681 [debug] Current batch of media processed. Will check again in 1000ms 01:33:01.682 [debug] Current batch of media processed. Will check again in 1000ms 01:33:02.008 [info] {"source":"oban","duration":3618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:02.683 [debug] Current batch of media processed. Will check again in 1000ms 01:33:03.684 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Cosy Day At Alfie's Parents House & We Finally Finished The Tree | Vlogmas Day 19\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Pets Corner – https://bit.ly/3YIelVq \n↠ Nandos – https://bit.ly/4aXQEjk \n↠ Lapland UK – https://bit.ly/3Y68XeD \n↠ Bow Christmas Bedding – Chelsea Peers (old) – https://go.shopmy.us/p-36157548 (others)\n\nW E A R I N G :\n⇢ Lori Banana Sweater – Claude & Co – https://go.shopmy.us/p-14305752 \n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 2726, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e122000 - Cosy Day At Alfie's Parents House & We Finally Finished The Tree | Vlogmas Day 19.mp4", "id" => "JwEU-C8YDIQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JwEU-C8YDIQ", "playlist_index" => 6, "timestamp" => 1766250016, "title" => "Cosy Day At Alfie's Parents House & We Finally Finished The Tree | Vlogmas Day 19", "upload_date" => "20251220"} 01:33:03.685 [debug] QUERY OK source="sources" db=0.4ms idle=1668.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:03.685 [debug] QUERY OK source="sources" db=0.1ms idle=1669.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:03.687 [debug] QUERY OK source="media_items" db=1.5ms idle=1047.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-20 17:00:16Z], 10] 01:33:03.707 [debug] QUERY OK source="media_items" db=18.8ms idle=671.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Cosy Day At Alfie's Parents House & We Finally Finished The Tree | Vlogmas Day 19\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Pets Corner – https://bit.ly/3YIelVq \n↠ Nandos – https://bit.ly/4aXQEjk \n↠ Lapland UK – https://bit.ly/3Y68XeD \n↠ Bow Christmas Bedding – Chelsea Peers (old) – https://go.shopmy.us/p-36157548 (others)\n\nW E A R I N G :\n⇢ Lori Banana Sweater – Claude & Co – https://go.shopmy.us/p-14305752 \n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Cosy Day At Alfie's Parents House & We Finally Finished The Tree | Vlogmas Day 19", "3ec35c5c-fa1a-48d0-9f5d-e8c4c721e098", 10, [], 2726, false, "JwEU-C8YDIQ", "https://www.youtube.com/watch?v=JwEU-C8YDIQ", 6, "/downloads/shows/Zoe sugg/Season 2025/s2025e122000 - Cosy Day At Alfie's Parents House & We Finally Finished The Tree | Vlogmas Day 19.mp4", false, false, false, 98, ~U[2025-12-20 17:00:16Z], ~U[2026-04-16 23:33:03Z], ~U[2026-04-16 23:33:03Z], "Cosy Day At Alfie's Parents House & We Finally Finished The Tree | Vlogmas Day 19\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Pets Corner – https://bit.ly/3YIelVq \n↠ Nandos – https://bit.ly/4aXQEjk \n↠ Lapland UK – https://bit.ly/3Y68XeD \n↠ Bow Christmas Bedding – Chelsea Peers (old) – https://go.shopmy.us/p-36157548 (others)\n\nW E A R I N G :\n⇢ Lori Banana Sweater – Claude & Co – https://go.shopmy.us/p-14305752 \n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Cosy Day At Alfie's Parents House & We Finally Finished The Tree | Vlogmas Day 19", 10, 2726, false, "JwEU-C8YDIQ", "https://www.youtube.com/watch?v=JwEU-C8YDIQ", "/downloads/shows/Zoe sugg/Season 2025/s2025e122000 - Cosy Day At Alfie's Parents House & We Finally Finished The Tree | Vlogmas Day 19.mp4", false, ~U[2025-12-20 17:00:16Z]] 01:33:03.707 [debug] QUERY OK source="sources" db=0.3ms idle=68.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:03.708 [debug] QUERY OK source="media_profiles" db=0.1ms idle=22.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:33:03.708 [debug] QUERY OK source="media_items" db=0.2ms idle=22.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110532] 01:33:03.709 [debug] Current batch of media processed. Will check again in 1000ms 01:33:04.709 [debug] Current batch of media processed. Will check again in 1000ms 01:33:05.710 [debug] Current batch of media processed. Will check again in 1000ms 01:33:06.711 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Making Decorations & Childhood Christmas Lists With Poppy | Vlogmas Day 18\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Brighton Santa Bus – https://bit.ly/3Y47Jkc\n\nW E A R I N G :\n⇢ Green & Pink Checked PJ Bottoms – George at ASDA – https://go.shopmy.us/p-35844517\n⇢ Long Sleeve Brown Top – ASOS – https://go.shopmy.us/p-36070680 (similar)\n⇢ Jacquard Argyle Knit Cardigan – Zara – https://bit.ly/3MJ0ifO\n⇢ Barrel White Jeans – ASOS – https://go.shopmy.us/p-36071367 \n⇢ Dear Sunday Cap Faded Apricot – https://bit.ly/4pKkRXE \n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Grinch Dressing Gown – George at Asda – https://go.shopmy.us/p-36070446 \n⇢ Noddy Rain Coat – Vinted\n⇢ Tiny Towns Green Jumper – Tiny Cottons – https://go.shopmy.us/p-35964860 \n⇢ Iska Flower Cardigan – Konges Sloejd – https://go.shopmy.us/p-36072175 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 4066, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e121900 - Making Decorations & Childhood Christmas Lists With Poppy | Vlogmas Day 18.mp4", "id" => "RI8iYh7W77A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RI8iYh7W77A", "playlist_index" => 7, "timestamp" => 1766163602, "title" => "Making Decorations & Childhood Christmas Lists With Poppy | Vlogmas Day 18", "upload_date" => "20251219"} 01:33:06.712 [debug] QUERY OK source="sources" db=0.2ms idle=1695.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:06.712 [debug] QUERY OK source="sources" db=0.1ms idle=1695.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:06.714 [debug] QUERY OK source="media_items" db=1.6ms idle=1696.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-19 17:00:02Z], 10] 01:33:06.724 [debug] QUERY OK source="media_items" db=9.6ms idle=1072.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Making Decorations & Childhood Christmas Lists With Poppy | Vlogmas Day 18\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Brighton Santa Bus – https://bit.ly/3Y47Jkc\n\nW E A R I N G :\n⇢ Green & Pink Checked PJ Bottoms – George at ASDA – https://go.shopmy.us/p-35844517\n⇢ Long Sleeve Brown Top – ASOS – https://go.shopmy.us/p-36070680 (similar)\n⇢ Jacquard Argyle Knit Cardigan – Zara – https://bit.ly/3MJ0ifO\n⇢ Barrel White Jeans – ASOS – https://go.shopmy.us/p-36071367 \n⇢ Dear Sunday Cap Faded Apricot – https://bit.ly/4pKkRXE \n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Grinch Dressing Gown – George at Asda – https://go.shopmy.us/p-36070446 \n⇢ Noddy Rain Coat – Vinted\n⇢ Tiny Towns Green Jumper – Tiny Cottons – https://go.shopmy.us/p-35964860 \n⇢ Iska Flower Cardigan – Konges Sloejd – https://go.shopmy.us/p-36072175 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Making Decorations & Childhood Christmas Lists With Poppy | Vlogmas Day 18", "9a3f2585-1cbb-496e-aa3f-c91ed3371152", 10, [], 4066, false, "RI8iYh7W77A", "https://www.youtube.com/watch?v=RI8iYh7W77A", 7, "/downloads/shows/Zoe sugg/Season 2025/s2025e121900 - Making Decorations & Childhood Christmas Lists With Poppy | Vlogmas Day 18.mp4", false, false, false, 98, ~U[2025-12-19 17:00:02Z], ~U[2026-04-16 23:33:06Z], ~U[2026-04-16 23:33:06Z], "Making Decorations & Childhood Christmas Lists With Poppy | Vlogmas Day 18\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Brighton Santa Bus – https://bit.ly/3Y47Jkc\n\nW E A R I N G :\n⇢ Green & Pink Checked PJ Bottoms – George at ASDA – https://go.shopmy.us/p-35844517\n⇢ Long Sleeve Brown Top – ASOS – https://go.shopmy.us/p-36070680 (similar)\n⇢ Jacquard Argyle Knit Cardigan – Zara – https://bit.ly/3MJ0ifO\n⇢ Barrel White Jeans – ASOS – https://go.shopmy.us/p-36071367 \n⇢ Dear Sunday Cap Faded Apricot – https://bit.ly/4pKkRXE \n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Grinch Dressing Gown – George at Asda – https://go.shopmy.us/p-36070446 \n⇢ Noddy Rain Coat – Vinted\n⇢ Tiny Towns Green Jumper – Tiny Cottons – https://go.shopmy.us/p-35964860 \n⇢ Iska Flower Cardigan – Konges Sloejd – https://go.shopmy.us/p-36072175 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Making Decorations & Childhood Christmas Lists With Poppy | Vlogmas Day 18", 10, 4066, false, "RI8iYh7W77A", "https://www.youtube.com/watch?v=RI8iYh7W77A", "/downloads/shows/Zoe sugg/Season 2025/s2025e121900 - Making Decorations & Childhood Christmas Lists With Poppy | Vlogmas Day 18.mp4", false, ~U[2025-12-19 17:00:02Z]] 01:33:06.725 [debug] QUERY OK source="sources" db=0.3ms idle=82.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:06.725 [debug] QUERY OK source="media_profiles" db=0.1ms idle=13.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:33:06.726 [debug] QUERY OK source="media_items" db=0.2ms idle=13.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110110] 01:33:06.726 [debug] Current batch of media processed. Will check again in 1000ms 01:33:07.727 [debug] Current batch of media processed. Will check again in 1000ms 01:33:08.728 [debug] Current batch of media processed. Will check again in 1000ms 01:33:09.729 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Christmas Presents With Mark & A Trip Into Town | Vlogmas Day 17\n\nMarks Video - https://youtu.be/zVWatmyqK4Q?\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Mark’s YouTube – https://www.youtube.com/@MarkFerris1 \n↠ Christmas Tree Magic Wand – https://bit.ly/44mFPDy \n↠ Horror VHS Cemetery Puzzle – https://amzn.to/4ql4Ojg \n↠ Supersoft Faux Fur Electric Throw – https://go.shopmy.us/p-35963568 \n↠ Scream Christmas Wreath – Vinted\n↠ It’s Been Emotional Blanket – https://go.shopmy.us/p-35964104 \n↠ The Pickle of Brighton – https://bit.ly/44y1M2x \n↠ Wagamama – https://www.wagamama.com/ \n↠ Photomatic – https://bit.ly/4pDMS3a \n\nW E A R I N G :\n⇢ Green & Pink Checked PJ Bottoms – George at ASDA – https://go.shopmy.us/p-35844517\n⇢ Home Alone Cardigan – Zara – https://bit.ly/4qgdqrc\n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181\n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Christmas Car PJs – Mori – https://go.shopmy.us/p-34392620 \n⇢ Tiny Towns Green Jumper – Tiny Cottons – https://go.shopmy.us/p-35964860 \n⇢ Olive Gingham Trousers – Organic Zoo – https://go.shopmy.us/p-16619307 \n⇢ Star Bomber Jacket – Konges Sloejd – https://go.shopmy.us/p-34870950 \n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34249354 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 3075, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e121800 - Christmas Presents With Mark & A Trip Into Town | Vlogmas Day 17.mp4", "id" => "uv2t0sU4hO0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uv2t0sU4hO0", "playlist_index" => 8, "timestamp" => 1766077216, "title" => "Christmas Presents With Mark & A Trip Into Town | Vlogmas Day 17", "upload_date" => "20251218"} 01:33:09.730 [debug] QUERY OK source="sources" db=0.3ms idle=1713.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:09.730 [debug] QUERY OK source="sources" db=0.1ms idle=1714.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:09.732 [debug] QUERY OK source="media_items" db=1.6ms idle=1714.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-18 17:00:16Z], 10] 01:33:09.737 [debug] QUERY OK source="media_items" db=3.4ms idle=1087.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Christmas Presents With Mark & A Trip Into Town | Vlogmas Day 17\n\nMarks Video - https://youtu.be/zVWatmyqK4Q?\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Mark’s YouTube – https://www.youtube.com/@MarkFerris1 \n↠ Christmas Tree Magic Wand – https://bit.ly/44mFPDy \n↠ Horror VHS Cemetery Puzzle – https://amzn.to/4ql4Ojg \n↠ Supersoft Faux Fur Electric Throw – https://go.shopmy.us/p-35963568 \n↠ Scream Christmas Wreath – Vinted\n↠ It’s Been Emotional Blanket – https://go.shopmy.us/p-35964104 \n↠ The Pickle of Brighton – https://bit.ly/44y1M2x \n↠ Wagamama – https://www.wagamama.com/ \n↠ Photomatic – https://bit.ly/4pDMS3a \n\nW E A R I N G :\n⇢ Green & Pink Checked PJ Bottoms – George at ASDA – https://go.shopmy.us/p-35844517\n⇢ Home Alone Cardigan – Zara – https://bit.ly/4qgdqrc\n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181\n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Christmas Car PJs – Mori – https://go.shopmy.us/p-34392620 \n⇢ Tiny Towns Green Jumper – Tiny Cottons – https://go.shopmy.us/p-35964860 \n⇢ Olive Gingham Trousers – Organic Zoo – https://go.shopmy.us/p-16619307 \n⇢ Star Bomber Jacket – Konges Sloejd – https://go.shopmy.us/p-34870950 \n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34249354 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Christmas Presents With Mark & A Trip Into Town | Vlogmas Day 17", "2a47875e-d43e-4335-af5f-f30454c853b0", 10, [], 3075, false, "uv2t0sU4hO0", "https://www.youtube.com/watch?v=uv2t0sU4hO0", 8, "/downloads/shows/Zoe sugg/Season 2025/s2025e121800 - Christmas Presents With Mark & A Trip Into Town | Vlogmas Day 17.mp4", false, false, false, 98, ~U[2025-12-18 17:00:16Z], ~U[2026-04-16 23:33:09Z], ~U[2026-04-16 23:33:09Z], "Christmas Presents With Mark & A Trip Into Town | Vlogmas Day 17\n\nMarks Video - https://youtu.be/zVWatmyqK4Q?\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Mark’s YouTube – https://www.youtube.com/@MarkFerris1 \n↠ Christmas Tree Magic Wand – https://bit.ly/44mFPDy \n↠ Horror VHS Cemetery Puzzle – https://amzn.to/4ql4Ojg \n↠ Supersoft Faux Fur Electric Throw – https://go.shopmy.us/p-35963568 \n↠ Scream Christmas Wreath – Vinted\n↠ It’s Been Emotional Blanket – https://go.shopmy.us/p-35964104 \n↠ The Pickle of Brighton – https://bit.ly/44y1M2x \n↠ Wagamama – https://www.wagamama.com/ \n↠ Photomatic – https://bit.ly/4pDMS3a \n\nW E A R I N G :\n⇢ Green & Pink Checked PJ Bottoms – George at ASDA – https://go.shopmy.us/p-35844517\n⇢ Home Alone Cardigan – Zara – https://bit.ly/4qgdqrc\n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181\n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Christmas Car PJs – Mori – https://go.shopmy.us/p-34392620 \n⇢ Tiny Towns Green Jumper – Tiny Cottons – https://go.shopmy.us/p-35964860 \n⇢ Olive Gingham Trousers – Organic Zoo – https://go.shopmy.us/p-16619307 \n⇢ Star Bomber Jacket – Konges Sloejd – https://go.shopmy.us/p-34870950 \n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34249354 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Christmas Presents With Mark & A Trip Into Town | Vlogmas Day 17", 10, 3075, false, "uv2t0sU4hO0", "https://www.youtube.com/watch?v=uv2t0sU4hO0", "/downloads/shows/Zoe sugg/Season 2025/s2025e121800 - Christmas Presents With Mark & A Trip Into Town | Vlogmas Day 17.mp4", false, ~U[2025-12-18 17:00:16Z]] 01:33:09.737 [debug] QUERY OK source="sources" db=0.2ms idle=90.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:09.738 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:33:09.738 [debug] QUERY OK source="media_items" db=0.2ms idle=7.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [109656] 01:33:09.739 [debug] Current batch of media processed. Will check again in 1000ms 01:33:10.739 [debug] Current batch of media processed. Will check again in 1000ms 01:33:11.740 [debug] Current batch of media processed. Will check again in 1000ms 01:33:12.741 [debug] Current batch of media processed. Will check again in 1000ms 01:33:13.742 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Christmas Garden Center Trip & Sleepover With Mark | Vlogmas Day 16\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Bayon Bakery – https://www.bayonbakery.co.uk/ \n↠ Mark’s YouTube – https://www.youtube.com/@MarkFerris1 \n↠ Haskins – https://www.haskins.co.uk/ \n↠ Tulley’s Christmas Lights – https://www.christmaslightshow.co.uk/ \n\nW E A R I N G :\n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n⇢ Animal Print Trousers – Topshop (OOS) – https://go.shopmy.us/p-29388495 (similar)\n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Green & Pink Checked PJ Bottoms – George at ASDA – https://go.shopmy.us/p-35844517\n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Novie’s Bear Jumper – Vinted\n⇢ Brown Corduroy Trousers – Tiny Colours – https://go.shopmy.us/p-34503423 \n⇢ Crochet Pink Cardigan – Misha & Puff / Junior Edition (OOS) – https://go.shopmy.us/p-35843836 \n⇢ Floral Twill Marine Trousers – Zara Kids – https://bit.ly/4pNoigo \n⇢ Blue Hooded Puffer Coat – M&S – https://go.shopmy.us/p-34738074 \n⇢ Duck Wellies – JoJo Maman Bebe – https://go.shopmy.us/p-26425775\n⇢ Pink Puffer Coat – Zara Kids – https://bit.ly/4p5MgTr\n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 3434, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e121700 - Christmas Garden Center Trip & Sleepover With Mark | Vlogmas Day 16.mp4", "id" => "poJyG1OWUXo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=poJyG1OWUXo", "playlist_index" => 9, "timestamp" => 1765990806, "title" => "Christmas Garden Center Trip & Sleepover With Mark | Vlogmas Day 16", "upload_date" => "20251217"} 01:33:13.743 [debug] QUERY OK source="sources" db=0.3ms idle=726.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:13.744 [debug] QUERY OK source="sources" db=0.2ms idle=727.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:13.746 [debug] QUERY OK source="media_items" db=1.6ms idle=727.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-17 17:00:06Z], 10] 01:33:13.748 [debug] QUERY OK source="media_items" db=1.5ms idle=729.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Christmas Garden Center Trip & Sleepover With Mark | Vlogmas Day 16\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Bayon Bakery – https://www.bayonbakery.co.uk/ \n↠ Mark’s YouTube – https://www.youtube.com/@MarkFerris1 \n↠ Haskins – https://www.haskins.co.uk/ \n↠ Tulley’s Christmas Lights – https://www.christmaslightshow.co.uk/ \n\nW E A R I N G :\n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n⇢ Animal Print Trousers – Topshop (OOS) – https://go.shopmy.us/p-29388495 (similar)\n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Green & Pink Checked PJ Bottoms – George at ASDA – https://go.shopmy.us/p-35844517\n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Novie’s Bear Jumper – Vinted\n⇢ Brown Corduroy Trousers – Tiny Colours – https://go.shopmy.us/p-34503423 \n⇢ Crochet Pink Cardigan – Misha & Puff / Junior Edition (OOS) – https://go.shopmy.us/p-35843836 \n⇢ Floral Twill Marine Trousers – Zara Kids – https://bit.ly/4pNoigo \n⇢ Blue Hooded Puffer Coat – M&S – https://go.shopmy.us/p-34738074 \n⇢ Duck Wellies – JoJo Maman Bebe – https://go.shopmy.us/p-26425775\n⇢ Pink Puffer Coat – Zara Kids – https://bit.ly/4p5MgTr\n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Christmas Garden Center Trip & Sleepover With Mark | Vlogmas Day 16", "f6e2acb5-ff50-4bfa-81b2-101d5dd2f4f2", 10, [], 3434, false, "poJyG1OWUXo", "https://www.youtube.com/watch?v=poJyG1OWUXo", 9, "/downloads/shows/Zoe sugg/Season 2025/s2025e121700 - Christmas Garden Center Trip & Sleepover With Mark | Vlogmas Day 16.mp4", false, false, false, 98, ~U[2025-12-17 17:00:06Z], ~U[2026-04-16 23:33:13Z], ~U[2026-04-16 23:33:13Z], "Christmas Garden Center Trip & Sleepover With Mark | Vlogmas Day 16\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Bayon Bakery – https://www.bayonbakery.co.uk/ \n↠ Mark’s YouTube – https://www.youtube.com/@MarkFerris1 \n↠ Haskins – https://www.haskins.co.uk/ \n↠ Tulley’s Christmas Lights – https://www.christmaslightshow.co.uk/ \n\nW E A R I N G :\n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n⇢ Animal Print Trousers – Topshop (OOS) – https://go.shopmy.us/p-29388495 (similar)\n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Green & Pink Checked PJ Bottoms – George at ASDA – https://go.shopmy.us/p-35844517\n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Novie’s Bear Jumper – Vinted\n⇢ Brown Corduroy Trousers – Tiny Colours – https://go.shopmy.us/p-34503423 \n⇢ Crochet Pink Cardigan – Misha & Puff / Junior Edition (OOS) – https://go.shopmy.us/p-35843836 \n⇢ Floral Twill Marine Trousers – Zara Kids – https://bit.ly/4pNoigo \n⇢ Blue Hooded Puffer Coat – M&S – https://go.shopmy.us/p-34738074 \n⇢ Duck Wellies – JoJo Maman Bebe – https://go.shopmy.us/p-26425775\n⇢ Pink Puffer Coat – Zara Kids – https://bit.ly/4p5MgTr\n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Christmas Garden Center Trip & Sleepover With Mark | Vlogmas Day 16", 10, 3434, false, "poJyG1OWUXo", "https://www.youtube.com/watch?v=poJyG1OWUXo", "/downloads/shows/Zoe sugg/Season 2025/s2025e121700 - Christmas Garden Center Trip & Sleepover With Mark | Vlogmas Day 16.mp4", false, ~U[2025-12-17 17:00:06Z]] 01:33:13.748 [debug] QUERY OK source="sources" db=0.3ms idle=95.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:13.749 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:33:13.750 [debug] QUERY OK source="media_items" db=0.3ms 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 [109205] 01:33:13.750 [debug] Current batch of media processed. Will check again in 1000ms 01:33:14.751 [debug] Current batch of media processed. Will check again in 1000ms 01:33:15.752 [debug] Current batch of media processed. Will check again in 1000ms 01:33:16.753 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Baking Green Grinch Waffles & Chocolate Peppermint Cookies | Vlogmas Day 15\n\nAD | Going to therapy is a sign of strength, not weakness. BetterHelp makes therapy simple, with 10% off your first month to help you get started: https://betterhelp.com/zoesugg (Paid Partnership by BetterHelp).\n\nSome links below may be affiliate links – which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Grinch Waffle Maker – https://go.shopmy.us/p-35680242 \n↠ Exagger-Eyes Volume Mascara – Charlotte Tilbury – https://go.shopmy.us/p-35680678 \n↠ Tanya Burr Cookies Recipe – http://instagram.com/p/B_K4TR5BX46/ \n\nW E A R I N G :\n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n⇢ Grinch Christmas Faded Hoodie – Zara – https://bit.ly/4rZuMdA\n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n⇢ Animal Print Trousers – Topshop (OOS) – https://go.shopmy.us/p-29388495 (similar)\n⇢ Fur Lined Leopard Print Clogs – https://amzn.to/481x0lb \n\nK I D S :\n⇢ Mamas & Papas White PJs – Next – https://go.shopmy.us/p-35679873 \n⇢ Grinch PJs – George at ASDA – https://go.shopmy.us/p-33980320 \n⇢ Rex Moon Trousers – Claude & Co – https://go.shopmy.us/p-30350431 \n⇢ Multicolour Jacket – Bobo Choses – https://go.shopmy.us/p-29019923 (similar)\n\nC H E C K O U T: \n↠ Dear Sunday – https://dearsunday.com/ \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 2969, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e121600 - Baking Green Grinch Waffles & Chocolate Peppermint Cookies | Vlogmas Day 15.mp4", "id" => "oHmf4GSObJk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oHmf4GSObJk", "playlist_index" => 10, "timestamp" => 1765904343, "title" => "Baking Green Grinch Waffles & Chocolate Peppermint Cookies | Vlogmas Day 15", "upload_date" => "20251216"} 01:33:16.754 [debug] QUERY OK source="sources" db=0.2ms idle=1737.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:16.754 [debug] QUERY OK source="sources" db=0.1ms idle=1737.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:16.756 [debug] QUERY OK source="media_items" db=1.5ms idle=1738.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-16 16:59:03Z], 10] 01:33:16.759 [debug] QUERY OK source="media_items" db=1.8ms idle=1100.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Baking Green Grinch Waffles & Chocolate Peppermint Cookies | Vlogmas Day 15\n\nAD | Going to therapy is a sign of strength, not weakness. BetterHelp makes therapy simple, with 10% off your first month to help you get started: https://betterhelp.com/zoesugg (Paid Partnership by BetterHelp).\n\nSome links below may be affiliate links – which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Grinch Waffle Maker – https://go.shopmy.us/p-35680242 \n↠ Exagger-Eyes Volume Mascara – Charlotte Tilbury – https://go.shopmy.us/p-35680678 \n↠ Tanya Burr Cookies Recipe – http://instagram.com/p/B_K4TR5BX46/ \n\nW E A R I N G :\n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n⇢ Grinch Christmas Faded Hoodie – Zara – https://bit.ly/4rZuMdA\n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n⇢ Animal Print Trousers – Topshop (OOS) – https://go.shopmy.us/p-29388495 (similar)\n⇢ Fur Lined Leopard Print Clogs – https://amzn.to/481x0lb \n\nK I D S :\n⇢ Mamas & Papas White PJs – Next – https://go.shopmy.us/p-35679873 \n⇢ Grinch PJs – George at ASDA – https://go.shopmy.us/p-33980320 \n⇢ Rex Moon Trousers – Claude & Co – https://go.shopmy.us/p-30350431 \n⇢ Multicolour Jacket – Bobo Choses – https://go.shopmy.us/p-29019923 (similar)\n\nC H E C K O U T: \n↠ Dear Sunday – https://dearsunday.com/ \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Baking Green Grinch Waffles & Chocolate Peppermint Cookies | Vlogmas Day 15", "664669e5-50e7-4d8e-b634-dea4f182fe5b", 10, [], 2969, false, "oHmf4GSObJk", "https://www.youtube.com/watch?v=oHmf4GSObJk", 10, "/downloads/shows/Zoe sugg/Season 2025/s2025e121600 - Baking Green Grinch Waffles & Chocolate Peppermint Cookies | Vlogmas Day 15.mp4", false, false, false, 98, ~U[2025-12-16 16:59:03Z], ~U[2026-04-16 23:33:16Z], ~U[2026-04-16 23:33:16Z], "Baking Green Grinch Waffles & Chocolate Peppermint Cookies | Vlogmas Day 15\n\nAD | Going to therapy is a sign of strength, not weakness. BetterHelp makes therapy simple, with 10% off your first month to help you get started: https://betterhelp.com/zoesugg (Paid Partnership by BetterHelp).\n\nSome links below may be affiliate links – which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Grinch Waffle Maker – https://go.shopmy.us/p-35680242 \n↠ Exagger-Eyes Volume Mascara – Charlotte Tilbury – https://go.shopmy.us/p-35680678 \n↠ Tanya Burr Cookies Recipe – http://instagram.com/p/B_K4TR5BX46/ \n\nW E A R I N G :\n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n⇢ Grinch Christmas Faded Hoodie – Zara – https://bit.ly/4rZuMdA\n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n⇢ Animal Print Trousers – Topshop (OOS) – https://go.shopmy.us/p-29388495 (similar)\n⇢ Fur Lined Leopard Print Clogs – https://amzn.to/481x0lb \n\nK I D S :\n⇢ Mamas & Papas White PJs – Next – https://go.shopmy.us/p-35679873 \n⇢ Grinch PJs – George at ASDA – https://go.shopmy.us/p-33980320 \n⇢ Rex Moon Trousers – Claude & Co – https://go.shopmy.us/p-30350431 \n⇢ Multicolour Jacket – Bobo Choses – https://go.shopmy.us/p-29019923 (similar)\n\nC H E C K O U T: \n↠ Dear Sunday – https://dearsunday.com/ \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Baking Green Grinch Waffles & Chocolate Peppermint Cookies | Vlogmas Day 15", 10, 2969, false, "oHmf4GSObJk", "https://www.youtube.com/watch?v=oHmf4GSObJk", "/downloads/shows/Zoe sugg/Season 2025/s2025e121600 - Baking Green Grinch Waffles & Chocolate Peppermint Cookies | Vlogmas Day 15.mp4", false, ~U[2025-12-16 16:59:03Z]] 01:33:16.759 [debug] QUERY OK source="sources" db=0.1ms idle=102.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:16.760 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:33:16.760 [debug] QUERY OK source="media_items" db=0.2ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [108793] 01:33:16.760 [debug] Current batch of media processed. Will check again in 1000ms 01:33:17.761 [debug] Current batch of media processed. Will check again in 1000ms 01:33:18.762 [debug] Current batch of media processed. Will check again in 1000ms 01:33:19.763 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Cosy Sunday At Home & Another Visit From The Grinch | Vlogmas Day 14\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Radio Times Christmas Guide – https://bit.ly/3KMazHy \n↠ M&S Gigantic Buttons – https://bit.ly/3Mv65FM\n↠ M&S Gigantic Orange Buttons – https://bit.ly/3L36UVN \n↠ M&S Baked Salted Giant Pretzels – https://bit.ly/44YD8rY \n↠ Bonne Maman Advent Calendar – https://go.shopmy.us/p-34393527 \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n\nK I D S :\n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-35601323 \n⇢ Holly PJs – Organic Zoo – https://go.shopmy.us/p-35601476 (similar)\n\nA L F I E \n⇢ Yellow Corduroy Cap – North Cross – https://go.shopmy.us/p-35602945 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 3665, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e121500 - Cosy Sunday At Home & Another Visit From The Grinch | Vlogmas Day 14.mp4", "id" => "-iiczB_pG_A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-iiczB_pG_A", "playlist_index" => 11, "timestamp" => 1765818003, "title" => "Cosy Sunday At Home & Another Visit From The Grinch | Vlogmas Day 14", "upload_date" => "20251215"} 01:33:19.764 [debug] QUERY OK source="sources" db=0.2ms idle=1747.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:19.764 [debug] QUERY OK source="sources" db=0.1ms idle=1748.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:19.766 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=1748.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-15 17:00:03Z], 10] 01:33:19.769 [debug] QUERY OK source="media_items" db=1.4ms idle=1105.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Cosy Sunday At Home & Another Visit From The Grinch | Vlogmas Day 14\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Radio Times Christmas Guide – https://bit.ly/3KMazHy \n↠ M&S Gigantic Buttons – https://bit.ly/3Mv65FM\n↠ M&S Gigantic Orange Buttons – https://bit.ly/3L36UVN \n↠ M&S Baked Salted Giant Pretzels – https://bit.ly/44YD8rY \n↠ Bonne Maman Advent Calendar – https://go.shopmy.us/p-34393527 \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n\nK I D S :\n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-35601323 \n⇢ Holly PJs – Organic Zoo – https://go.shopmy.us/p-35601476 (similar)\n\nA L F I E \n⇢ Yellow Corduroy Cap – North Cross – https://go.shopmy.us/p-35602945 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Cosy Sunday At Home & Another Visit From The Grinch | Vlogmas Day 14", "f0350dc9-b322-4006-88a9-bab889d2aeb0", 10, [], 3665, false, "-iiczB_pG_A", "https://www.youtube.com/watch?v=-iiczB_pG_A", 11, "/downloads/shows/Zoe sugg/Season 2025/s2025e121500 - Cosy Sunday At Home & Another Visit From The Grinch | Vlogmas Day 14.mp4", false, false, false, 98, ~U[2025-12-15 17:00:03Z], ~U[2026-04-16 23:33:19Z], ~U[2026-04-16 23:33:19Z], "Cosy Sunday At Home & Another Visit From The Grinch | Vlogmas Day 14\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Radio Times Christmas Guide – https://bit.ly/3KMazHy \n↠ M&S Gigantic Buttons – https://bit.ly/3Mv65FM\n↠ M&S Gigantic Orange Buttons – https://bit.ly/3L36UVN \n↠ M&S Baked Salted Giant Pretzels – https://bit.ly/44YD8rY \n↠ Bonne Maman Advent Calendar – https://go.shopmy.us/p-34393527 \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n\nK I D S :\n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-35601323 \n⇢ Holly PJs – Organic Zoo – https://go.shopmy.us/p-35601476 (similar)\n\nA L F I E \n⇢ Yellow Corduroy Cap – North Cross – https://go.shopmy.us/p-35602945 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Cosy Sunday At Home & Another Visit From The Grinch | Vlogmas Day 14", 10, 3665, false, "-iiczB_pG_A", "https://www.youtube.com/watch?v=-iiczB_pG_A", "/downloads/shows/Zoe sugg/Season 2025/s2025e121500 - Cosy Sunday At Home & Another Visit From The Grinch | Vlogmas Day 14.mp4", false, ~U[2025-12-15 17:00:03Z]] 01:33:19.769 [debug] QUERY OK source="sources" db=0.2ms idle=106.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:19.770 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:33:19.770 [debug] QUERY OK source="media_items" db=0.4ms 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 [108379] 01:33:19.771 [debug] Current batch of media processed. Will check again in 1000ms 01:33:20.771 [debug] Current batch of media processed. Will check again in 1000ms 01:33:21.772 [debug] Current batch of media processed. Will check again in 1000ms 01:33:22.773 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Festive Woodland Walk & Evening Drone Show | Vlogmas Day 13\n\n✨ Little reminder that FREE UK Shipping ends tonight* plus, receive your order before Christmas: https://dearsunday.com/ \n\n23:59pm GMT — 14th December 2025.\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Christmas Tree Magic Wand – https://bit.ly/44mFPDy \n↠ Wilderness Wood – https://www.wildernesswood.org/ \n↠ Vlogmas Cap – Dear Sunday – https://bit.ly/4aLAglV \n↠ Christmas Tartan Bedding – Zara Home – https://go.shopmy.us/p-35504985 \n\nW E A R I N G :\n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181\n⇢ Sunglasses – Ace & Tate – Jack (OOS) / Eleanor – https://go.shopmy.us/p-26425554 (similar) \n⇢ Coat - M&S – https://go.shopmy.us/p-26425638 (currently OOS) https://go.shopmy.us/p-26425651 (similar)\n⇢ Triangle Brown Scarf – TBCo – https://go.shopmy.us/p-34129344\n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n\nK I D S :\n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n⇢ Charcoal Midnight Dungarees – Organic Zoo – https://go.shopmy.us/p-34740027 \n⇢ Duck Wellies – Jojo Maman Bebe – https://go.shopmy.us/p-26425775 \n⇢ Leopard Print Trousers – John Lewis – https://go.shopmy.us/p-28255884 \n⇢ Green Barn Jacket – Next – https://go.shopmy.us/p-35504821\n⇢ Oatmeal Wool Jacket – Organic Zoo – https://go.shopmy.us/p-29390086 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 1757, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e121400 - Festive Woodland Walk & Evening Drone Show | Vlogmas Day 13.mp4", "id" => "nQSRnsoalcY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nQSRnsoalcY", "playlist_index" => 12, "timestamp" => 1765732534, "title" => "Festive Woodland Walk & Evening Drone Show | Vlogmas Day 13", "upload_date" => "20251214"} 01:33:22.774 [debug] QUERY OK source="sources" db=0.2ms idle=1757.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:22.774 [debug] QUERY OK source="sources" db=0.1ms idle=1758.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:22.776 [debug] QUERY OK source="media_items" db=1.5ms idle=1758.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-14 17:15:34Z], 10] 01:33:22.779 [debug] QUERY OK source="media_items" db=1.4ms idle=1110.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Festive Woodland Walk & Evening Drone Show | Vlogmas Day 13\n\n✨ Little reminder that FREE UK Shipping ends tonight* plus, receive your order before Christmas: https://dearsunday.com/ \n\n23:59pm GMT — 14th December 2025.\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Christmas Tree Magic Wand – https://bit.ly/44mFPDy \n↠ Wilderness Wood – https://www.wildernesswood.org/ \n↠ Vlogmas Cap – Dear Sunday – https://bit.ly/4aLAglV \n↠ Christmas Tartan Bedding – Zara Home – https://go.shopmy.us/p-35504985 \n\nW E A R I N G :\n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181\n⇢ Sunglasses – Ace & Tate – Jack (OOS) / Eleanor – https://go.shopmy.us/p-26425554 (similar) \n⇢ Coat - M&S – https://go.shopmy.us/p-26425638 (currently OOS) https://go.shopmy.us/p-26425651 (similar)\n⇢ Triangle Brown Scarf – TBCo – https://go.shopmy.us/p-34129344\n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n\nK I D S :\n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n⇢ Charcoal Midnight Dungarees – Organic Zoo – https://go.shopmy.us/p-34740027 \n⇢ Duck Wellies – Jojo Maman Bebe – https://go.shopmy.us/p-26425775 \n⇢ Leopard Print Trousers – John Lewis – https://go.shopmy.us/p-28255884 \n⇢ Green Barn Jacket – Next – https://go.shopmy.us/p-35504821\n⇢ Oatmeal Wool Jacket – Organic Zoo – https://go.shopmy.us/p-29390086 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Festive Woodland Walk & Evening Drone Show | Vlogmas Day 13", "5bde60ce-9a5a-4f57-a68b-18324d1c399c", 10, [], 1757, false, "nQSRnsoalcY", "https://www.youtube.com/watch?v=nQSRnsoalcY", 12, "/downloads/shows/Zoe sugg/Season 2025/s2025e121400 - Festive Woodland Walk & Evening Drone Show | Vlogmas Day 13.mp4", false, false, false, 98, ~U[2025-12-14 17:15:34Z], ~U[2026-04-16 23:33:22Z], ~U[2026-04-16 23:33:22Z], "Festive Woodland Walk & Evening Drone Show | Vlogmas Day 13\n\n✨ Little reminder that FREE UK Shipping ends tonight* plus, receive your order before Christmas: https://dearsunday.com/ \n\n23:59pm GMT — 14th December 2025.\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Christmas Tree Magic Wand – https://bit.ly/44mFPDy \n↠ Wilderness Wood – https://www.wildernesswood.org/ \n↠ Vlogmas Cap – Dear Sunday – https://bit.ly/4aLAglV \n↠ Christmas Tartan Bedding – Zara Home – https://go.shopmy.us/p-35504985 \n\nW E A R I N G :\n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181\n⇢ Sunglasses – Ace & Tate – Jack (OOS) / Eleanor – https://go.shopmy.us/p-26425554 (similar) \n⇢ Coat - M&S – https://go.shopmy.us/p-26425638 (currently OOS) https://go.shopmy.us/p-26425651 (similar)\n⇢ Triangle Brown Scarf – TBCo – https://go.shopmy.us/p-34129344\n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n\nK I D S :\n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n⇢ Charcoal Midnight Dungarees – Organic Zoo – https://go.shopmy.us/p-34740027 \n⇢ Duck Wellies – Jojo Maman Bebe – https://go.shopmy.us/p-26425775 \n⇢ Leopard Print Trousers – John Lewis – https://go.shopmy.us/p-28255884 \n⇢ Green Barn Jacket – Next – https://go.shopmy.us/p-35504821\n⇢ Oatmeal Wool Jacket – Organic Zoo – https://go.shopmy.us/p-29390086 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Festive Woodland Walk & Evening Drone Show | Vlogmas Day 13", 10, 1757, false, "nQSRnsoalcY", "https://www.youtube.com/watch?v=nQSRnsoalcY", "/downloads/shows/Zoe sugg/Season 2025/s2025e121400 - Festive Woodland Walk & Evening Drone Show | Vlogmas Day 13.mp4", false, ~U[2025-12-14 17:15:34Z]] 01:33:22.779 [debug] QUERY OK source="sources" db=0.3ms idle=112.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:22.780 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:33:22.780 [debug] QUERY OK source="media_items" db=0.2ms idle=5.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [107966] 01:33:22.780 [debug] Current batch of media processed. Will check again in 1000ms 01:33:23.781 [debug] Current batch of media processed. Will check again in 1000ms 01:33:24.782 [debug] Current batch of media processed. Will check again in 1000ms 01:33:25.783 [debug] Current batch of media processed. Will check again in 1000ms 01:33:26.784 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "A Magical Day At Lapland With Family & Friends | Vlogmas Day 12\n\n🎁🎄 Last chance for UK delivery in time for Christmas! Get FREE UK Shipping this weekend: https://dearsunday.com/ \n\nEnds 23:59pm GMT — 14th December 2025.\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Lapland UK – https://portal.laplanduk.co.uk\n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n↠ Skin + Me – https://www.skinandme.com/ \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Green Knit Jumper – Topshop – https://go.shopmy.us/p-26422964 \n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181 \n\nK I D S :\n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Grinch PJs – George at ASDA – https://go.shopmy.us/p-33980320 \n⇢ Skunk / Rabbit Hoodie (Deer OOS) – Oeuf – https://go.shopmy.us/p-26425794 / https://go.shopmy.us/p-26425803\n⇢ Star Bomber Jacket – Konges Sloejd – https://go.shopmy.us/p-34870950 \n⇢ Scallop Yoke Jumper – Misha & Puff (old) – https://go.shopmy.us/p-35423913 (similar)\n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 2314, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e121300 - A Magical Day At Lapland With Family & Friends | Vlogmas Day 12.mp4", "id" => "gtAabDhfdWo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gtAabDhfdWo", "playlist_index" => 13, "timestamp" => 1765645234, "title" => "A Magical Day At Lapland With Family & Friends | Vlogmas Day 12", "upload_date" => "20251213"} 01:33:26.785 [debug] QUERY OK source="sources" db=0.2ms idle=768.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:26.785 [debug] QUERY OK source="sources" db=0.1ms idle=769.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:26.787 [debug] QUERY OK source="media_items" db=1.5ms idle=769.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-13 17:00:34Z], 10] 01:33:26.790 [debug] QUERY OK source="media_items" db=1.7ms idle=771.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A Magical Day At Lapland With Family & Friends | Vlogmas Day 12\n\n🎁🎄 Last chance for UK delivery in time for Christmas! Get FREE UK Shipping this weekend: https://dearsunday.com/ \n\nEnds 23:59pm GMT — 14th December 2025.\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Lapland UK – https://portal.laplanduk.co.uk\n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n↠ Skin + Me – https://www.skinandme.com/ \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Green Knit Jumper – Topshop – https://go.shopmy.us/p-26422964 \n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181 \n\nK I D S :\n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Grinch PJs – George at ASDA – https://go.shopmy.us/p-33980320 \n⇢ Skunk / Rabbit Hoodie (Deer OOS) – Oeuf – https://go.shopmy.us/p-26425794 / https://go.shopmy.us/p-26425803\n⇢ Star Bomber Jacket – Konges Sloejd – https://go.shopmy.us/p-34870950 \n⇢ Scallop Yoke Jumper – Misha & Puff (old) – https://go.shopmy.us/p-35423913 (similar)\n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "A Magical Day At Lapland With Family & Friends | Vlogmas Day 12", "3a8432da-f537-4657-8cbe-f832ac35d5f6", 10, [], 2314, false, "gtAabDhfdWo", "https://www.youtube.com/watch?v=gtAabDhfdWo", 13, "/downloads/shows/Zoe sugg/Season 2025/s2025e121300 - A Magical Day At Lapland With Family & Friends | Vlogmas Day 12.mp4", false, false, false, 98, ~U[2025-12-13 17:00:34Z], ~U[2026-04-16 23:33:26Z], ~U[2026-04-16 23:33:26Z], "A Magical Day At Lapland With Family & Friends | Vlogmas Day 12\n\n🎁🎄 Last chance for UK delivery in time for Christmas! Get FREE UK Shipping this weekend: https://dearsunday.com/ \n\nEnds 23:59pm GMT — 14th December 2025.\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Lapland UK – https://portal.laplanduk.co.uk\n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n↠ Skin + Me – https://www.skinandme.com/ \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Green Knit Jumper – Topshop – https://go.shopmy.us/p-26422964 \n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181 \n\nK I D S :\n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Grinch PJs – George at ASDA – https://go.shopmy.us/p-33980320 \n⇢ Skunk / Rabbit Hoodie (Deer OOS) – Oeuf – https://go.shopmy.us/p-26425794 / https://go.shopmy.us/p-26425803\n⇢ Star Bomber Jacket – Konges Sloejd – https://go.shopmy.us/p-34870950 \n⇢ Scallop Yoke Jumper – Misha & Puff (old) – https://go.shopmy.us/p-35423913 (similar)\n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "A Magical Day At Lapland With Family & Friends | Vlogmas Day 12", 10, 2314, false, "gtAabDhfdWo", "https://www.youtube.com/watch?v=gtAabDhfdWo", "/downloads/shows/Zoe sugg/Season 2025/s2025e121300 - A Magical Day At Lapland With Family & Friends | Vlogmas Day 12.mp4", false, ~U[2025-12-13 17:00:34Z]] 01:33:26.790 [debug] QUERY OK source="sources" db=0.2ms idle=117.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:26.790 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:33:26.791 [debug] QUERY OK source="media_items" db=0.2ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [107552] 01:33:26.791 [debug] Current batch of media processed. Will check again in 1000ms 01:33:27.792 [debug] Current batch of media processed. Will check again in 1000ms 01:33:28.793 [debug] Current batch of media processed. Will check again in 1000ms 01:33:29.794 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "An Early Christmas With The Family & Old Home Videos | Vlogmas Day 11\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ M&S Food – https://bit.ly/4pS0Ezz \n↠ Embroidered Christmas Napkins – https://go.shopmy.us/p-35289912 \n↠ Winter Berry Garland – https://go.shopmy.us/p-35289980 (similar)\n↠ Minced Pie Candle Holder – https://go.shopmy.us/p-35290007 (OOS)\n↠ Red Bow Candle Holder – https://go.shopmy.us/p-35290016 \n↠ Red Gingham Table Cloth Cover – https://go.shopmy.us/p-35290053 \n↠ Ivory Candles – https://go.shopmy.us/p-35290045 \n↠ Speckled Stoneware Jug – https://go.shopmy.us/p-35290064 (OOS)\n↠ M&S x Kelly Hoppen Christmas Crackers – https://go.shopmy.us/p-35290080 \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Dear Sunday Hoodie in Ecru – https://bit.ly/4p1odEQ \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Black Trench Coat – ASOS – https://go.shopmy.us/p-35290133 (similar)\n⇢ White Jumper – ASOS – https://go.shopmy.us/p-35290157 (similar)\n⇢ Red Silk Skirt – ASOS – https://go.shopmy.us/p-35290169 \n\nK I D S :\n⇢ Ottie’s Grinch PJs – George at ASDA – https://go.shopmy.us/p-35289826 \n⇢ Novie’s Grinch PJs – George at ASDA – https://go.shopmy.us/p-33980320 \n⇢ Yvonne Christmas Dress – Konges Sloejd – https://go.shopmy.us/p-35290218 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 3351, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e121200 - An Early Christmas With The Family & Old Home Videos | Vlogmas Day 11.mp4", "id" => "KFIT8T04oXQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KFIT8T04oXQ", "playlist_index" => 14, "timestamp" => 1765558803, "title" => "An Early Christmas With The Family & Old Home Videos | Vlogmas Day 11", "upload_date" => "20251212"} 01:33:29.795 [debug] QUERY OK source="sources" db=0.3ms idle=1778.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:29.796 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1779.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:29.797 [debug] QUERY OK source="media_items" db=1.5ms idle=1779.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-12 17:00:03Z], 10] 01:33:29.800 [debug] QUERY OK source="media_items" db=1.6ms idle=1121.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["An Early Christmas With The Family & Old Home Videos | Vlogmas Day 11\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ M&S Food – https://bit.ly/4pS0Ezz \n↠ Embroidered Christmas Napkins – https://go.shopmy.us/p-35289912 \n↠ Winter Berry Garland – https://go.shopmy.us/p-35289980 (similar)\n↠ Minced Pie Candle Holder – https://go.shopmy.us/p-35290007 (OOS)\n↠ Red Bow Candle Holder – https://go.shopmy.us/p-35290016 \n↠ Red Gingham Table Cloth Cover – https://go.shopmy.us/p-35290053 \n↠ Ivory Candles – https://go.shopmy.us/p-35290045 \n↠ Speckled Stoneware Jug – https://go.shopmy.us/p-35290064 (OOS)\n↠ M&S x Kelly Hoppen Christmas Crackers – https://go.shopmy.us/p-35290080 \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Dear Sunday Hoodie in Ecru – https://bit.ly/4p1odEQ \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Black Trench Coat – ASOS – https://go.shopmy.us/p-35290133 (similar)\n⇢ White Jumper – ASOS – https://go.shopmy.us/p-35290157 (similar)\n⇢ Red Silk Skirt – ASOS – https://go.shopmy.us/p-35290169 \n\nK I D S :\n⇢ Ottie’s Grinch PJs – George at ASDA – https://go.shopmy.us/p-35289826 \n⇢ Novie’s Grinch PJs – George at ASDA – https://go.shopmy.us/p-33980320 \n⇢ Yvonne Christmas Dress – Konges Sloejd – https://go.shopmy.us/p-35290218 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "An Early Christmas With The Family & Old Home Videos | Vlogmas Day 11", "bb9e6bab-3ffe-4d62-91f9-2f663b26e5b1", 10, [], 3351, false, "KFIT8T04oXQ", "https://www.youtube.com/watch?v=KFIT8T04oXQ", 14, "/downloads/shows/Zoe sugg/Season 2025/s2025e121200 - An Early Christmas With The Family & Old Home Videos | Vlogmas Day 11.mp4", false, false, false, 98, ~U[2025-12-12 17:00:03Z], ~U[2026-04-16 23:33:29Z], ~U[2026-04-16 23:33:29Z], "An Early Christmas With The Family & Old Home Videos | Vlogmas Day 11\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ M&S Food – https://bit.ly/4pS0Ezz \n↠ Embroidered Christmas Napkins – https://go.shopmy.us/p-35289912 \n↠ Winter Berry Garland – https://go.shopmy.us/p-35289980 (similar)\n↠ Minced Pie Candle Holder – https://go.shopmy.us/p-35290007 (OOS)\n↠ Red Bow Candle Holder – https://go.shopmy.us/p-35290016 \n↠ Red Gingham Table Cloth Cover – https://go.shopmy.us/p-35290053 \n↠ Ivory Candles – https://go.shopmy.us/p-35290045 \n↠ Speckled Stoneware Jug – https://go.shopmy.us/p-35290064 (OOS)\n↠ M&S x Kelly Hoppen Christmas Crackers – https://go.shopmy.us/p-35290080 \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Dear Sunday Hoodie in Ecru – https://bit.ly/4p1odEQ \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Black Trench Coat – ASOS – https://go.shopmy.us/p-35290133 (similar)\n⇢ White Jumper – ASOS – https://go.shopmy.us/p-35290157 (similar)\n⇢ Red Silk Skirt – ASOS – https://go.shopmy.us/p-35290169 \n\nK I D S :\n⇢ Ottie’s Grinch PJs – George at ASDA – https://go.shopmy.us/p-35289826 \n⇢ Novie’s Grinch PJs – George at ASDA – https://go.shopmy.us/p-33980320 \n⇢ Yvonne Christmas Dress – Konges Sloejd – https://go.shopmy.us/p-35290218 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "An Early Christmas With The Family & Old Home Videos | Vlogmas Day 11", 10, 3351, false, "KFIT8T04oXQ", "https://www.youtube.com/watch?v=KFIT8T04oXQ", "/downloads/shows/Zoe sugg/Season 2025/s2025e121200 - An Early Christmas With The Family & Old Home Videos | Vlogmas Day 11.mp4", false, ~U[2025-12-12 17:00:03Z]] 01:33:29.800 [debug] QUERY OK source="sources" db=0.1ms idle=123.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:29.800 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:33:29.801 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [107138] 01:33:29.801 [debug] Current batch of media processed. Will check again in 1000ms 01:33:30.802 [debug] Current batch of media processed. Will check again in 1000ms 01:33:31.803 [debug] Current batch of media processed. Will check again in 1000ms 01:33:32.009 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:33:32.804 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Father Christmas Visits, Magic Tree & Gift Giving Ideas | Vlogmas Day 10\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links – which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Mini microphone - https://bit.ly/4oJOzuD\n↠ Christmas tree magic wand - https://bit.ly/44mFPDy \n↠ Ramshackle flowers tree ornaments - https://ramshackleflowers.com/ \n↠ Ratan Children’s basket https://go.shopmy.us/p-35160200 \n↠ Marigold and Lettuce - https://www.marigoldandlettice.co.uk/ \n↠ Ketchup on your reindeer book - https://bit.ly/4oODnNs\n\nS P A C E N K\n⇢ Penhaligon fragrance - https://go.shopmy.us/p-35160262 \n⇢ Caudalie beauty elixir - https://go.shopmy.us/p-35160273 \n⇢ Salt and Stone body wash - https://go.shopmy.us/p-35160281 \n⇢ HourGlass glossy balm - https://go.shopmy.us/p-35160295 \n⇢ Glossier hand cream - https://go.shopmy.us/p-35160303 \n⇢ Laura Mercier honey bath - https://go.shopmy.us/p-35160347 \n⇢ Glossier cookie butter balm - https://go.shopmy.us/p-35160403 \n⇢ Neom Xmas candle - https://go.shopmy.us/p-35160425 \n⇢ Uni body serum - https://go.shopmy.us/p-35160435 \n⇢ Medik8 - https://go.shopmy.us/p-35160448 \n⇢ Sunday Riley pink drink - https://go.shopmy.us/p-35160455 \n⇢ Shiseido vital perfection night concentrate - https://go.shopmy.us/p-35160464 \n⇢ Oskia Deeper Sleep - https://go.shopmy.us/p-35160489\n⇢ Living Proof dry shampoo - https://go.shopmy.us/p-35160501 \n\nW E A R I N G \n⇢ Christmas PJs - https://go.shopmy.us/p-34249564 \n⇢ Red Christmas cardigan - Lazy Oaf - https://go.shopmy.us/p-35161507\n⇢ Rings - https://carrieelizabeth.co.uk/collections/icons \n\nK I D S \n⇢ Christmas PJs - https://go.shopmy.us/p-34249573 \n⇢ Christmas cardigans - Little Worne Store - https://go.shopmy.us/p-34403044 (similar)\n\nC H E C K O U T: \n⇢ *My Amazon Storefront - https://bit.ly/3K2HFQE\n⇢ *Shop My Wardrobe - https://shopmy.us/zoesugg", "duration" => 4032, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e121100 - Father Christmas Visits, Magic Tree & Gift Giving Ideas | Vlogmas Day 10.mp4", "id" => "G74PbPg04jE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=G74PbPg04jE", "playlist_index" => 15, "timestamp" => 1765472402, "title" => "Father Christmas Visits, Magic Tree & Gift Giving Ideas | Vlogmas Day 10", "upload_date" => "20251211"} 01:33:32.805 [debug] QUERY OK source="sources" db=0.2ms idle=1788.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:32.805 [debug] QUERY OK source="sources" db=0.1ms idle=1789.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:32.807 [debug] QUERY OK source="media_items" db=1.5ms idle=1125.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-11 17:00:02Z], 10] 01:33:32.810 [debug] QUERY OK source="media_items" db=1.8ms idle=798.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Father Christmas Visits, Magic Tree & Gift Giving Ideas | Vlogmas Day 10\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links – which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Mini microphone - https://bit.ly/4oJOzuD\n↠ Christmas tree magic wand - https://bit.ly/44mFPDy \n↠ Ramshackle flowers tree ornaments - https://ramshackleflowers.com/ \n↠ Ratan Children’s basket https://go.shopmy.us/p-35160200 \n↠ Marigold and Lettuce - https://www.marigoldandlettice.co.uk/ \n↠ Ketchup on your reindeer book - https://bit.ly/4oODnNs\n\nS P A C E N K\n⇢ Penhaligon fragrance - https://go.shopmy.us/p-35160262 \n⇢ Caudalie beauty elixir - https://go.shopmy.us/p-35160273 \n⇢ Salt and Stone body wash - https://go.shopmy.us/p-35160281 \n⇢ HourGlass glossy balm - https://go.shopmy.us/p-35160295 \n⇢ Glossier hand cream - https://go.shopmy.us/p-35160303 \n⇢ Laura Mercier honey bath - https://go.shopmy.us/p-35160347 \n⇢ Glossier cookie butter balm - https://go.shopmy.us/p-35160403 \n⇢ Neom Xmas candle - https://go.shopmy.us/p-35160425 \n⇢ Uni body serum - https://go.shopmy.us/p-35160435 \n⇢ Medik8 - https://go.shopmy.us/p-35160448 \n⇢ Sunday Riley pink drink - https://go.shopmy.us/p-35160455 \n⇢ Shiseido vital perfection night concentrate - https://go.shopmy.us/p-35160464 \n⇢ Oskia Deeper Sleep - https://go.shopmy.us/p-35160489\n⇢ Living Proof dry shampoo - https://go.shopmy.us/p-35160501 \n\nW E A R I N G \n⇢ Christmas PJs - https://go.shopmy.us/p-34249564 \n⇢ Red Christmas cardigan - Lazy Oaf - https://go.shopmy.us/p-35161507\n⇢ Rings - https://carrieelizabeth.co.uk/collections/icons \n\nK I D S \n⇢ Christmas PJs - https://go.shopmy.us/p-34249573 \n⇢ Christmas cardigans - Little Worne Store - https://go.shopmy.us/p-34403044 (similar)\n\nC H E C K O U T: \n⇢ *My Amazon Storefront - https://bit.ly/3K2HFQE\n⇢ *Shop My Wardrobe - https://shopmy.us/zoesugg", "Father Christmas Visits, Magic Tree & Gift Giving Ideas | Vlogmas Day 10", "29e9ea90-ebea-473c-9928-f72e35380c40", 10, [], 4032, false, "G74PbPg04jE", "https://www.youtube.com/watch?v=G74PbPg04jE", 15, "/downloads/shows/Zoe sugg/Season 2025/s2025e121100 - Father Christmas Visits, Magic Tree & Gift Giving Ideas | Vlogmas Day 10.mp4", false, false, false, 98, ~U[2025-12-11 17:00:02Z], ~U[2026-04-16 23:33:32Z], ~U[2026-04-16 23:33:32Z], "Father Christmas Visits, Magic Tree & Gift Giving Ideas | Vlogmas Day 10\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links – which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Mini microphone - https://bit.ly/4oJOzuD\n↠ Christmas tree magic wand - https://bit.ly/44mFPDy \n↠ Ramshackle flowers tree ornaments - https://ramshackleflowers.com/ \n↠ Ratan Children’s basket https://go.shopmy.us/p-35160200 \n↠ Marigold and Lettuce - https://www.marigoldandlettice.co.uk/ \n↠ Ketchup on your reindeer book - https://bit.ly/4oODnNs\n\nS P A C E N K\n⇢ Penhaligon fragrance - https://go.shopmy.us/p-35160262 \n⇢ Caudalie beauty elixir - https://go.shopmy.us/p-35160273 \n⇢ Salt and Stone body wash - https://go.shopmy.us/p-35160281 \n⇢ HourGlass glossy balm - https://go.shopmy.us/p-35160295 \n⇢ Glossier hand cream - https://go.shopmy.us/p-35160303 \n⇢ Laura Mercier honey bath - https://go.shopmy.us/p-35160347 \n⇢ Glossier cookie butter balm - https://go.shopmy.us/p-35160403 \n⇢ Neom Xmas candle - https://go.shopmy.us/p-35160425 \n⇢ Uni body serum - https://go.shopmy.us/p-35160435 \n⇢ Medik8 - https://go.shopmy.us/p-35160448 \n⇢ Sunday Riley pink drink - https://go.shopmy.us/p-35160455 \n⇢ Shiseido vital perfection night concentrate - https://go.shopmy.us/p-35160464 \n⇢ Oskia Deeper Sleep - https://go.shopmy.us/p-35160489\n⇢ Living Proof dry shampoo - https://go.shopmy.us/p-35160501 \n\nW E A R I N G \n⇢ Christmas PJs - https://go.shopmy.us/p-34249564 \n⇢ Red Christmas cardigan - Lazy Oaf - https://go.shopmy.us/p-35161507\n⇢ Rings - https://carrieelizabeth.co.uk/collections/icons \n\nK I D S \n⇢ Christmas PJs - https://go.shopmy.us/p-34249573 \n⇢ Christmas cardigans - Little Worne Store - https://go.shopmy.us/p-34403044 (similar)\n\nC H E C K O U T: \n⇢ *My Amazon Storefront - https://bit.ly/3K2HFQE\n⇢ *Shop My Wardrobe - https://shopmy.us/zoesugg", "Father Christmas Visits, Magic Tree & Gift Giving Ideas | Vlogmas Day 10", 10, 4032, false, "G74PbPg04jE", "https://www.youtube.com/watch?v=G74PbPg04jE", "/downloads/shows/Zoe sugg/Season 2025/s2025e121100 - Father Christmas Visits, Magic Tree & Gift Giving Ideas | Vlogmas Day 10.mp4", false, ~U[2025-12-11 17:00:02Z]] 01:33:32.810 [debug] QUERY OK source="sources" db=0.2ms idle=129.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:32.811 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:33:32.811 [debug] QUERY OK source="media_items" db=0.2ms idle=5.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [106687] 01:33:32.811 [debug] Current batch of media processed. Will check again in 1000ms 01:33:33.812 [debug] Current batch of media processed. Will check again in 1000ms 01:33:34.813 [debug] Current batch of media processed. Will check again in 1000ms 01:33:35.814 [debug] Current batch of media processed. Will check again in 1000ms 01:33:36.815 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "We Finally Decorated The Tree & Our Favourite Board Games | Vlogmas Day 9\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Neutonic Productivity Drink – https://go.shopmy.us/p-35023839 \n↠ Vlogmas Intro Animation by Rosie Miles – https://bit.ly/4f3p8iJ\n↠ Vlogmas Intro Illustration by Jess Mason – https://bit.ly/3ZeDQxM \n\nM A K E U P :\n⇢ PRO FILT’R Soft Matte Longwear Foundation – Fenty Beauty – https://go.shopmy.us/p-35020233 \n⇢ Lasting Perfection Ultra Cover Concealer – Collection Cosmetics – https://go.shopmy.us/p-25369568\n⇢ Unreal Lips Healthy Glow Nectar Oil – Charlotte Tilbury – https://go.shopmy.us/p-35020526 \n⇢ Kush Brow Lamination Gel – Milk Makeup – https://go.shopmy.us/p-35020934 \n⇢ Dipbrow Pomade – Anastasia Beverly Hills – https://go.shopmy.us/p-35020999 \n⇢ Unlocked Instant Extensions Mascara – Hourglass – https://go.shopmy.us/p-35021084\n⇢ MAC Connect In Colour X6 Eye Shadow Palette – MAC – https://go.shopmy.us/p-35020894 \n⇢ Terracotta The Bronzing Powder 03 – GUERLAIN – https://go.shopmy.us/p-35021221 \n⇢ Natasha Denona HY-Blush – Natasha Denona – https://go.shopmy.us/p-35021356 (similar)\n⇢ MAC Mineralize Skinfinish Highlighter Soft and Gentle – MAC – https://go.shopmy.us/p-35021508 \n⇢ Lip Cheat Contour DUO Tan/Medium – Charlotte Tilbury – https://go.shopmy.us/p-35021618 \n⇢ Lipstick Bamboo – Chantecaille – https://go.shopmy.us/p-33978426 \n\nB O A R D G A M E S :\n↠ Qwirkle Cubes – https://amzn.to/4s4ckAG \n↠ Handspeed Challenge – https://go.shopmy.us/p-35021940 \n↠ Backgammon Travel Set – https://go.shopmy.us/p-35022293 \n↠ Incoheaerent – https://amzn.to/4pSXfzK \n↠ Ransom Notes – https://amzn.to/4pAyh8I \n↠ Monopoly Cheaters Edition – https://amzn.to/4oPWgQf (OOS)\n↠ Shut The Box – https://amzn.to/3XQ0En8 \n↠ Pucket – https://amzn.to/44fpAIs \n↠ Think Words – https://amzn.to/4j8IV4l \n↠ Blokus – https://amzn.to/4aIRpN9 \n↠ Triominos – https://amzn.to/4pvtKEF \n↠ Cluedo – https://amzn.to/48w3xjh \n↠ Abalone – https://amzn.to/48MJ6xc \n↠ You’ve Got Crabs – https://amzn.to/4oOYkb7\n\nW E A R I N G :\n⇢ Grey Knitted Frill Cardigan – ASOS – https://go.shopmy.us/p-35019218\n⇢ Animal Print Trousers – Topshop (OOS) – https://go.shopmy.us/p-29388495 (similar)\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n\nK I D S :\n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Olive Gingham Trousers – Organic Zoo – https://go.shopmy.us/p-16619307 \n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249573 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 2631, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e121000 - We Finally Decorated The Tree & Our Favourite Board Games | Vlogmas Day 9.mp4", "id" => "5KD5VMg9lPw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5KD5VMg9lPw", "playlist_index" => 16, "timestamp" => 1765385946, "title" => "We Finally Decorated The Tree & Our Favourite Board Games | Vlogmas Day 9", "upload_date" => "20251210"} 01:33:36.816 [debug] QUERY OK source="sources" db=0.2ms idle=799.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:36.816 [debug] QUERY OK source="sources" db=0.1ms idle=800.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:36.818 [debug] QUERY OK source="media_items" db=1.5ms idle=800.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-10 16:59:06Z], 10] 01:33:36.821 [debug] QUERY OK source="media_items" db=2.2ms idle=802.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["We Finally Decorated The Tree & Our Favourite Board Games | Vlogmas Day 9\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Neutonic Productivity Drink – https://go.shopmy.us/p-35023839 \n↠ Vlogmas Intro Animation by Rosie Miles – https://bit.ly/4f3p8iJ\n↠ Vlogmas Intro Illustration by Jess Mason – https://bit.ly/3ZeDQxM \n\nM A K E U P :\n⇢ PRO FILT’R Soft Matte Longwear Foundation – Fenty Beauty – https://go.shopmy.us/p-35020233 \n⇢ Lasting Perfection Ultra Cover Concealer – Collection Cosmetics – https://go.shopmy.us/p-25369568\n⇢ Unreal Lips Healthy Glow Nectar Oil – Charlotte Tilbury – https://go.shopmy.us/p-35020526 \n⇢ Kush Brow Lamination Gel – Milk Makeup – https://go.shopmy.us/p-35020934 \n⇢ Dipbrow Pomade – Anastasia Beverly Hills – https://go.shopmy.us/p-35020999 \n⇢ Unlocked Instant Extensions Mascara – Hourglass – https://go.shopmy.us/p-35021084\n⇢ MAC Connect In Colour X6 Eye Shadow Palette – MAC – https://go.shopmy.us/p-35020894 \n⇢ Terracotta The Bronzing Powder 03 – GUERLAIN – https://go.shopmy.us/p-35021221 \n⇢ Natasha Denona HY-Blush – Natasha Denona – https://go.shopmy.us/p-35021356 (similar)\n⇢ MAC Mineralize Skinfinish Highlighter Soft and Gentle – MAC – https://go.shopmy.us/p-35021508 \n⇢ Lip Cheat Contour DUO Tan/Medium – Charlotte Tilbury – https://go.shopmy.us/p-35021618 \n⇢ Lipstick Bamboo – Chantecaille – https://go.shopmy.us/p-33978426 \n\nB O A R D G A M E S :\n↠ Qwirkle Cubes – https://amzn.to/4s4ckAG \n↠ Handspeed Challenge – https://go.shopmy.us/p-35021940 \n↠ Backgammon Travel Set – https://go.shopmy.us/p-35022293 \n↠ Incoheaerent – https://amzn.to/4pSXfzK \n↠ Ransom Notes – https://amzn.to/4pAyh8I \n↠ Monopoly Cheaters Edition – https://amzn.to/4oPWgQf (OOS)\n↠ Shut The Box – https://amzn.to/3XQ0En8 \n↠ Pucket – https://amzn.to/44fpAIs \n↠ Think Words – https://amzn.to/4j8IV4l \n↠ Blokus – https://amzn.to/4aIRpN9 \n↠ Triominos – https://amzn.to/4pvtKEF \n↠ Cluedo – https://amzn.to/48w3xjh \n↠ Abalone – https://amzn.to/48MJ6xc \n↠ You’ve Got Crabs – https://amzn.to/4oOYkb7\n\nW E A R I N G :\n⇢ Grey Knitted Frill Cardigan – ASOS – https://go.shopmy.us/p-35019218\n⇢ Animal Print Trousers – Topshop (OOS) – https://go.shopmy.us/p-29388495 (similar)\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n\nK I D S :\n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Olive Gingham Trousers – Organic Zoo – https://go.shopmy.us/p-16619307 \n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249573 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "We Finally Decorated The Tree & Our Favourite Board Games | Vlogmas Day 9", "fd54425d-da61-496f-82dc-a0484bd69ec4", 10, [], 2631, false, "5KD5VMg9lPw", "https://www.youtube.com/watch?v=5KD5VMg9lPw", 16, "/downloads/shows/Zoe sugg/Season 2025/s2025e121000 - We Finally Decorated The Tree & Our Favourite Board Games | Vlogmas Day 9.mp4", false, false, false, 98, ~U[2025-12-10 16:59:06Z], ~U[2026-04-16 23:33:36Z], ~U[2026-04-16 23:33:36Z], "We Finally Decorated The Tree & Our Favourite Board Games | Vlogmas Day 9\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Neutonic Productivity Drink – https://go.shopmy.us/p-35023839 \n↠ Vlogmas Intro Animation by Rosie Miles – https://bit.ly/4f3p8iJ\n↠ Vlogmas Intro Illustration by Jess Mason – https://bit.ly/3ZeDQxM \n\nM A K E U P :\n⇢ PRO FILT’R Soft Matte Longwear Foundation – Fenty Beauty – https://go.shopmy.us/p-35020233 \n⇢ Lasting Perfection Ultra Cover Concealer – Collection Cosmetics – https://go.shopmy.us/p-25369568\n⇢ Unreal Lips Healthy Glow Nectar Oil – Charlotte Tilbury – https://go.shopmy.us/p-35020526 \n⇢ Kush Brow Lamination Gel – Milk Makeup – https://go.shopmy.us/p-35020934 \n⇢ Dipbrow Pomade – Anastasia Beverly Hills – https://go.shopmy.us/p-35020999 \n⇢ Unlocked Instant Extensions Mascara – Hourglass – https://go.shopmy.us/p-35021084\n⇢ MAC Connect In Colour X6 Eye Shadow Palette – MAC – https://go.shopmy.us/p-35020894 \n⇢ Terracotta The Bronzing Powder 03 – GUERLAIN – https://go.shopmy.us/p-35021221 \n⇢ Natasha Denona HY-Blush – Natasha Denona – https://go.shopmy.us/p-35021356 (similar)\n⇢ MAC Mineralize Skinfinish Highlighter Soft and Gentle – MAC – https://go.shopmy.us/p-35021508 \n⇢ Lip Cheat Contour DUO Tan/Medium – Charlotte Tilbury – https://go.shopmy.us/p-35021618 \n⇢ Lipstick Bamboo – Chantecaille – https://go.shopmy.us/p-33978426 \n\nB O A R D G A M E S :\n↠ Qwirkle Cubes – https://amzn.to/4s4ckAG \n↠ Handspeed Challenge – https://go.shopmy.us/p-35021940 \n↠ Backgammon Travel Set – https://go.shopmy.us/p-35022293 \n↠ Incoheaerent – https://amzn.to/4pSXfzK \n↠ Ransom Notes – https://amzn.to/4pAyh8I \n↠ Monopoly Cheaters Edition – https://amzn.to/4oPWgQf (OOS)\n↠ Shut The Box – https://amzn.to/3XQ0En8 \n↠ Pucket – https://amzn.to/44fpAIs \n↠ Think Words – https://amzn.to/4j8IV4l \n↠ Blokus – https://amzn.to/4aIRpN9 \n↠ Triominos – https://amzn.to/4pvtKEF \n↠ Cluedo – https://amzn.to/48w3xjh \n↠ Abalone – https://amzn.to/48MJ6xc \n↠ You’ve Got Crabs – https://amzn.to/4oOYkb7\n\nW E A R I N G :\n⇢ Grey Knitted Frill Cardigan – ASOS – https://go.shopmy.us/p-35019218\n⇢ Animal Print Trousers – Topshop (OOS) – https://go.shopmy.us/p-29388495 (similar)\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n\nK I D S :\n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Olive Gingham Trousers – Organic Zoo – https://go.shopmy.us/p-16619307 \n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249573 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "We Finally Decorated The Tree & Our Favourite Board Games | Vlogmas Day 9", 10, 2631, false, "5KD5VMg9lPw", "https://www.youtube.com/watch?v=5KD5VMg9lPw", "/downloads/shows/Zoe sugg/Season 2025/s2025e121000 - We Finally Decorated The Tree & Our Favourite Board Games | Vlogmas Day 9.mp4", false, ~U[2025-12-10 16:59:06Z]] 01:33:36.822 [debug] QUERY OK source="sources" db=0.2ms idle=133.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:36.822 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 01:33:36.823 [debug] QUERY OK source="media_items" db=0.2ms idle=6.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [106241] 01:33:36.823 [debug] Current batch of media processed. Will check again in 1000ms 01:33:37.824 [debug] Current batch of media processed. Will check again in 1000ms 01:33:38.825 [debug] Current batch of media processed. Will check again in 1000ms 01:33:39.826 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Happy Tears, Christmas LUSH Haul & Does The Tree Fit? | Vlogmas Day 8\n\nAD | Discover Lush’s Christmas gifts – fresh, festive, and handmade. Perfect for treating yourself or someone special this season. 🎄✨\n\nShop and explore the full Christmas range here: https://friends.lush.com/s/zoesugg \n\n*Free Yog Nog Shower Gel (115g Snow Fairy Shower Gel now out of stock) for customers residing in UK Only, 18+, when making a purchase through the following affiliate link with minimum spend of £15, valid from 5th December until 20th December 2025. \n\nTerms and conditions apply here: https://bit.ly/3Y2I8rJ\n\nSome links below may be affiliate links – which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Bayon Bakery – https://www.bayonbakery.co.uk/ \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n⇢ Oversized White Sweatshirt – ASOS – https://go.shopmy.us/p-29019412 \n⇢ Green Corduroy Trousers – ASOS – https://go.shopmy.us/p-34871031 \n⇢ Grey Beanie (OOS) – Ganni – https://go.shopmy.us/p-34871119 (similar)\n⇢ Off White Trainers – New Balance – https://go.shopmy.us/p-34871177 \n⇢ Sweatshirt in Ecru – Dear Sunday – https://bit.ly/4ar7fMd \n\nK I D S :\n⇢ Blue & Orange Sleepsuit – Next – https://go.shopmy.us/p-34870858\n⇢ Santa PJs (old) – Chelsea Peers – https://go.shopmy.us/p-34392963 (similar)\n⇢ Star Bomber Jacket – Konges Sloejd – https://go.shopmy.us/p-34870950 \n⇢ Green Corduroy Trousers – Next – https://go.shopmy.us/p-26426170\n⇢ Christmas Jumper (old) – Little Worne Store – https://go.shopmy.us/p-34403044 (similar)\n⇢ Toddler Sambas – Adidas – https://go.shopmy.us/p-29019572 \n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n\nC H E C K O U T: \n↠ Dear Sunday — https://dearsunday.com/ \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 3736, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e120900 - Happy Tears, Christmas LUSH Haul & Does The Tree Fit? | Vlogmas Day 8.mp4", "id" => "BO7vgfMWf8k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BO7vgfMWf8k", "playlist_index" => 17, "timestamp" => 1765299600, "title" => "Happy Tears, Christmas LUSH Haul & Does The Tree Fit? | Vlogmas Day 8", "upload_date" => "20251209"} 01:33:39.827 [debug] QUERY OK source="sources" db=0.3ms idle=1810.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:39.828 [debug] QUERY OK source="sources" db=0.4ms idle=1811.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:39.830 [debug] QUERY OK source="media_items" db=1.7ms idle=1811.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-09 17:00:00Z], 10] 01:33:39.833 [debug] QUERY OK source="media_items" db=1.9ms idle=1139.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Happy Tears, Christmas LUSH Haul & Does The Tree Fit? | Vlogmas Day 8\n\nAD | Discover Lush’s Christmas gifts – fresh, festive, and handmade. Perfect for treating yourself or someone special this season. 🎄✨\n\nShop and explore the full Christmas range here: https://friends.lush.com/s/zoesugg \n\n*Free Yog Nog Shower Gel (115g Snow Fairy Shower Gel now out of stock) for customers residing in UK Only, 18+, when making a purchase through the following affiliate link with minimum spend of £15, valid from 5th December until 20th December 2025. \n\nTerms and conditions apply here: https://bit.ly/3Y2I8rJ\n\nSome links below may be affiliate links – which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Bayon Bakery – https://www.bayonbakery.co.uk/ \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n⇢ Oversized White Sweatshirt – ASOS – https://go.shopmy.us/p-29019412 \n⇢ Green Corduroy Trousers – ASOS – https://go.shopmy.us/p-34871031 \n⇢ Grey Beanie (OOS) – Ganni – https://go.shopmy.us/p-34871119 (similar)\n⇢ Off White Trainers – New Balance – https://go.shopmy.us/p-34871177 \n⇢ Sweatshirt in Ecru – Dear Sunday – https://bit.ly/4ar7fMd \n\nK I D S :\n⇢ Blue & Orange Sleepsuit – Next – https://go.shopmy.us/p-34870858\n⇢ Santa PJs (old) – Chelsea Peers – https://go.shopmy.us/p-34392963 (similar)\n⇢ Star Bomber Jacket – Konges Sloejd – https://go.shopmy.us/p-34870950 \n⇢ Green Corduroy Trousers – Next – https://go.shopmy.us/p-26426170\n⇢ Christmas Jumper (old) – Little Worne Store – https://go.shopmy.us/p-34403044 (similar)\n⇢ Toddler Sambas – Adidas – https://go.shopmy.us/p-29019572 \n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n\nC H E C K O U T: \n↠ Dear Sunday — https://dearsunday.com/ \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Happy Tears, Christmas LUSH Haul & Does The Tree Fit? | Vlogmas Day 8", "03582101-9030-4b4f-b977-94b5be235671", 10, [], 3736, false, "BO7vgfMWf8k", "https://www.youtube.com/watch?v=BO7vgfMWf8k", 17, "/downloads/shows/Zoe sugg/Season 2025/s2025e120900 - Happy Tears, Christmas LUSH Haul & Does The Tree Fit? | Vlogmas Day 8.mp4", false, false, false, 98, ~U[2025-12-09 17:00:00Z], ~U[2026-04-16 23:33:39Z], ~U[2026-04-16 23:33:39Z], "Happy Tears, Christmas LUSH Haul & Does The Tree Fit? | Vlogmas Day 8\n\nAD | Discover Lush’s Christmas gifts – fresh, festive, and handmade. Perfect for treating yourself or someone special this season. 🎄✨\n\nShop and explore the full Christmas range here: https://friends.lush.com/s/zoesugg \n\n*Free Yog Nog Shower Gel (115g Snow Fairy Shower Gel now out of stock) for customers residing in UK Only, 18+, when making a purchase through the following affiliate link with minimum spend of £15, valid from 5th December until 20th December 2025. \n\nTerms and conditions apply here: https://bit.ly/3Y2I8rJ\n\nSome links below may be affiliate links – which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Bayon Bakery – https://www.bayonbakery.co.uk/ \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n⇢ Oversized White Sweatshirt – ASOS – https://go.shopmy.us/p-29019412 \n⇢ Green Corduroy Trousers – ASOS – https://go.shopmy.us/p-34871031 \n⇢ Grey Beanie (OOS) – Ganni – https://go.shopmy.us/p-34871119 (similar)\n⇢ Off White Trainers – New Balance – https://go.shopmy.us/p-34871177 \n⇢ Sweatshirt in Ecru – Dear Sunday – https://bit.ly/4ar7fMd \n\nK I D S :\n⇢ Blue & Orange Sleepsuit – Next – https://go.shopmy.us/p-34870858\n⇢ Santa PJs (old) – Chelsea Peers – https://go.shopmy.us/p-34392963 (similar)\n⇢ Star Bomber Jacket – Konges Sloejd – https://go.shopmy.us/p-34870950 \n⇢ Green Corduroy Trousers – Next – https://go.shopmy.us/p-26426170\n⇢ Christmas Jumper (old) – Little Worne Store – https://go.shopmy.us/p-34403044 (similar)\n⇢ Toddler Sambas – Adidas – https://go.shopmy.us/p-29019572 \n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n\nC H E C K O U T: \n↠ Dear Sunday — https://dearsunday.com/ \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Happy Tears, Christmas LUSH Haul & Does The Tree Fit? | Vlogmas Day 8", 10, 3736, false, "BO7vgfMWf8k", "https://www.youtube.com/watch?v=BO7vgfMWf8k", "/downloads/shows/Zoe sugg/Season 2025/s2025e120900 - Happy Tears, Christmas LUSH Haul & Does The Tree Fit? | Vlogmas Day 8.mp4", false, ~U[2025-12-09 17:00:00Z]] 01:33:39.833 [debug] QUERY OK source="sources" db=0.1ms idle=141.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:39.834 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:33:39.834 [debug] QUERY OK source="media_items" db=0.3ms 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 [105830] 01:33:39.834 [debug] Current batch of media processed. Will check again in 1000ms 01:33:40.835 [debug] Current batch of media processed. Will check again in 1000ms 01:33:41.836 [debug] Current batch of media processed. Will check again in 1000ms 01:33:42.837 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Picking Our Christmas Trees & Getting Very Wet & Muddy | Vlogmas Day 7\n\n✨ Get a FREE Vlogmas cap with any order over £60 for the next 24 hours: https://dearsunday.com/\n\nDiscount automatically applied at checkout when you add the Vlogmas cap to your basket.\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Build-A-Bear – https://www.buildabear.co.uk/ \n↠ Goddenwick Farm – https://goddenwickfarm.co.uk/ \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Oversized White Sweatshirt – ASOS – https://go.shopmy.us/p-29019412 \n⇢ Suede Bomber Brown Jacket – Zara – https://bit.ly/44UkEZz\n⇢ Green Parka – Sea Salt Cornwall – https://go.shopmy.us/p-34403431 \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Cable Knit White Jumper – ASOS – https://go.shopmy.us/p-34739815 \n⇢ Croissants PJ Bottoms – The Night Store – https://go.shopmy.us/p-28821256 \n⇢ Hoodie in Fern – Dear Sunday – https://bit.ly/4rH7x7W \n\nK I D S :\n⇢ Scarecrow’s Wedding PJs – Asda – https://go.shopmy.us/p-34132906 \n⇢ Blue Hooded Puffer Coat – M&S – https://go.shopmy.us/p-34738074 \n⇢ Duck Wellies – JoJo Maman Bebe – https://go.shopmy.us/p-26425775\n⇢ Ladybird Wellies – Next – https://go.shopmy.us/p-26425857 \n⇢ Striped Long Sleeve – Claude & Co – https://go.shopmy.us/p-28255970 \n⇢ Rex Moon Trousers – Claude & Co – https://go.shopmy.us/p-30350431 \n⇢ Charcoal Midnight Dungarees – Organic Zoo – https://go.shopmy.us/p-34740027 \n\nA L F I E :\n⇢ Sweatshirt in Ecru – Dear Sunday – https://bit.ly/4ar7fMd \n⇢ Vlogmas Cap – Dear Sunday – https://bit.ly/48KQxVH \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 2440, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e120800 - Picking Our Christmas Trees & Getting Very Wet & Muddy | Vlogmas Day 7.mp4", "id" => "Z5okqxXqREk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Z5okqxXqREk", "playlist_index" => 18, "timestamp" => 1765213275, "title" => "Picking Our Christmas Trees & Getting Very Wet & Muddy | Vlogmas Day 7", "upload_date" => "20251208"} 01:33:42.838 [debug] QUERY OK source="sources" db=0.2ms idle=1821.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:42.838 [debug] QUERY OK source="sources" db=0.2ms idle=1822.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:42.840 [debug] QUERY OK source="media_items" db=1.5ms idle=1822.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-08 17:01:15Z], 10] 01:33:42.842 [debug] QUERY OK source="media_items" db=1.4ms idle=1144.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Picking Our Christmas Trees & Getting Very Wet & Muddy | Vlogmas Day 7\n\n✨ Get a FREE Vlogmas cap with any order over £60 for the next 24 hours: https://dearsunday.com/\n\nDiscount automatically applied at checkout when you add the Vlogmas cap to your basket.\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Build-A-Bear – https://www.buildabear.co.uk/ \n↠ Goddenwick Farm – https://goddenwickfarm.co.uk/ \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Oversized White Sweatshirt – ASOS – https://go.shopmy.us/p-29019412 \n⇢ Suede Bomber Brown Jacket – Zara – https://bit.ly/44UkEZz\n⇢ Green Parka – Sea Salt Cornwall – https://go.shopmy.us/p-34403431 \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Cable Knit White Jumper – ASOS – https://go.shopmy.us/p-34739815 \n⇢ Croissants PJ Bottoms – The Night Store – https://go.shopmy.us/p-28821256 \n⇢ Hoodie in Fern – Dear Sunday – https://bit.ly/4rH7x7W \n\nK I D S :\n⇢ Scarecrow’s Wedding PJs – Asda – https://go.shopmy.us/p-34132906 \n⇢ Blue Hooded Puffer Coat – M&S – https://go.shopmy.us/p-34738074 \n⇢ Duck Wellies – JoJo Maman Bebe – https://go.shopmy.us/p-26425775\n⇢ Ladybird Wellies – Next – https://go.shopmy.us/p-26425857 \n⇢ Striped Long Sleeve – Claude & Co – https://go.shopmy.us/p-28255970 \n⇢ Rex Moon Trousers – Claude & Co – https://go.shopmy.us/p-30350431 \n⇢ Charcoal Midnight Dungarees – Organic Zoo – https://go.shopmy.us/p-34740027 \n\nA L F I E :\n⇢ Sweatshirt in Ecru – Dear Sunday – https://bit.ly/4ar7fMd \n⇢ Vlogmas Cap – Dear Sunday – https://bit.ly/48KQxVH \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Picking Our Christmas Trees & Getting Very Wet & Muddy | Vlogmas Day 7", "cb0515a2-40ef-4584-b3be-2fdf36f421ed", 10, [], 2440, false, "Z5okqxXqREk", "https://www.youtube.com/watch?v=Z5okqxXqREk", 18, "/downloads/shows/Zoe sugg/Season 2025/s2025e120800 - Picking Our Christmas Trees & Getting Very Wet & Muddy | Vlogmas Day 7.mp4", false, false, false, 98, ~U[2025-12-08 17:01:15Z], ~U[2026-04-16 23:33:42Z], ~U[2026-04-16 23:33:42Z], "Picking Our Christmas Trees & Getting Very Wet & Muddy | Vlogmas Day 7\n\n✨ Get a FREE Vlogmas cap with any order over £60 for the next 24 hours: https://dearsunday.com/\n\nDiscount automatically applied at checkout when you add the Vlogmas cap to your basket.\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Build-A-Bear – https://www.buildabear.co.uk/ \n↠ Goddenwick Farm – https://goddenwickfarm.co.uk/ \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Oversized White Sweatshirt – ASOS – https://go.shopmy.us/p-29019412 \n⇢ Suede Bomber Brown Jacket – Zara – https://bit.ly/44UkEZz\n⇢ Green Parka – Sea Salt Cornwall – https://go.shopmy.us/p-34403431 \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Cable Knit White Jumper – ASOS – https://go.shopmy.us/p-34739815 \n⇢ Croissants PJ Bottoms – The Night Store – https://go.shopmy.us/p-28821256 \n⇢ Hoodie in Fern – Dear Sunday – https://bit.ly/4rH7x7W \n\nK I D S :\n⇢ Scarecrow’s Wedding PJs – Asda – https://go.shopmy.us/p-34132906 \n⇢ Blue Hooded Puffer Coat – M&S – https://go.shopmy.us/p-34738074 \n⇢ Duck Wellies – JoJo Maman Bebe – https://go.shopmy.us/p-26425775\n⇢ Ladybird Wellies – Next – https://go.shopmy.us/p-26425857 \n⇢ Striped Long Sleeve – Claude & Co – https://go.shopmy.us/p-28255970 \n⇢ Rex Moon Trousers – Claude & Co – https://go.shopmy.us/p-30350431 \n⇢ Charcoal Midnight Dungarees – Organic Zoo – https://go.shopmy.us/p-34740027 \n\nA L F I E :\n⇢ Sweatshirt in Ecru – Dear Sunday – https://bit.ly/4ar7fMd \n⇢ Vlogmas Cap – Dear Sunday – https://bit.ly/48KQxVH \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Picking Our Christmas Trees & Getting Very Wet & Muddy | Vlogmas Day 7", 10, 2440, false, "Z5okqxXqREk", "https://www.youtube.com/watch?v=Z5okqxXqREk", "/downloads/shows/Zoe sugg/Season 2025/s2025e120800 - Picking Our Christmas Trees & Getting Very Wet & Muddy | Vlogmas Day 7.mp4", false, ~U[2025-12-08 17:01:15Z]] 01:33:42.843 [debug] QUERY OK source="sources" db=0.1ms idle=145.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:42.843 [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] 01:33:42.844 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [105419] 01:33:42.844 [debug] Current batch of media processed. Will check again in 1000ms 01:33:43.845 [debug] Current batch of media processed. Will check again in 1000ms 01:33:44.846 [debug] Current batch of media processed. Will check again in 1000ms 01:33:45.847 [debug] Current batch of media processed. Will check again in 1000ms 01:33:46.848 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Novie's 2nd Birthday & Surprise Guest 'Question Of The Day' | Vlogmas Day 6\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Tidlo The Oldfield Farm – https://go.shopmy.us/p-34503631 \n↠ Maggie Glove Puppet – https://go.shopmy.us/p-34503609 \n↠ Steve & Maggie: Halloween Soundbook – https://amzn.to/4oCIVdS \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Suede Bomber Brown Jacket – Zara – https://bit.ly/44UkEZz\n⇢ Denim Dungarees – ASOS – https://go.shopmy.us/p-34603120 (similar)\n\nK I D S :\n⇢ Santa PJs (old) – Chelsea Peers – https://go.shopmy.us/p-34392963 (similar)\n⇢ Blue Knitted Cardigan – Mori – https://go.shopmy.us/p-34603178 (similar)\n⇢ Dancer’s Ballet Dress – Konges Sloejd – https://go.shopmy.us/p-34602714 \n⇢ Custom Duck Cardigan – Daisy and River – https://go.shopmy.us/p-34602927 (similar)\n⇢ Scarecrow’s Wedding PJs – Asda – https://go.shopmy.us/p-34132906 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 1584, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e120700 - Novie's 2nd Birthday & Surprise Guest 'Question Of The Day' | Vlogmas Day 6.mp4", "id" => "wVi9GrWkqO4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wVi9GrWkqO4", "playlist_index" => 19, "timestamp" => 1765126829, "title" => "Novie's 2nd Birthday & Surprise Guest 'Question Of The Day' | Vlogmas Day 6", "upload_date" => "20251207"} 01:33:46.849 [debug] QUERY OK source="sources" db=0.2ms idle=832.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:46.849 [debug] QUERY OK source="sources" db=0.1ms idle=833.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:46.851 [debug] QUERY OK source="media_items" db=1.6ms idle=833.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-07 17:00:29Z], 10] 01:33:46.853 [debug] QUERY OK source="media_items" db=1.2ms idle=835.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Novie's 2nd Birthday & Surprise Guest 'Question Of The Day' | Vlogmas Day 6\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Tidlo The Oldfield Farm – https://go.shopmy.us/p-34503631 \n↠ Maggie Glove Puppet – https://go.shopmy.us/p-34503609 \n↠ Steve & Maggie: Halloween Soundbook – https://amzn.to/4oCIVdS \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Suede Bomber Brown Jacket – Zara – https://bit.ly/44UkEZz\n⇢ Denim Dungarees – ASOS – https://go.shopmy.us/p-34603120 (similar)\n\nK I D S :\n⇢ Santa PJs (old) – Chelsea Peers – https://go.shopmy.us/p-34392963 (similar)\n⇢ Blue Knitted Cardigan – Mori – https://go.shopmy.us/p-34603178 (similar)\n⇢ Dancer’s Ballet Dress – Konges Sloejd – https://go.shopmy.us/p-34602714 \n⇢ Custom Duck Cardigan – Daisy and River – https://go.shopmy.us/p-34602927 (similar)\n⇢ Scarecrow’s Wedding PJs – Asda – https://go.shopmy.us/p-34132906 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Novie's 2nd Birthday & Surprise Guest 'Question Of The Day' | Vlogmas Day 6", "e81b563a-a8b3-4832-9906-8d49be3788f6", 10, [], 1584, false, "wVi9GrWkqO4", "https://www.youtube.com/watch?v=wVi9GrWkqO4", 19, "/downloads/shows/Zoe sugg/Season 2025/s2025e120700 - Novie's 2nd Birthday & Surprise Guest 'Question Of The Day' | Vlogmas Day 6.mp4", false, false, false, 98, ~U[2025-12-07 17:00:29Z], ~U[2026-04-16 23:33:46Z], ~U[2026-04-16 23:33:46Z], "Novie's 2nd Birthday & Surprise Guest 'Question Of The Day' | Vlogmas Day 6\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Tidlo The Oldfield Farm – https://go.shopmy.us/p-34503631 \n↠ Maggie Glove Puppet – https://go.shopmy.us/p-34503609 \n↠ Steve & Maggie: Halloween Soundbook – https://amzn.to/4oCIVdS \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Suede Bomber Brown Jacket – Zara – https://bit.ly/44UkEZz\n⇢ Denim Dungarees – ASOS – https://go.shopmy.us/p-34603120 (similar)\n\nK I D S :\n⇢ Santa PJs (old) – Chelsea Peers – https://go.shopmy.us/p-34392963 (similar)\n⇢ Blue Knitted Cardigan – Mori – https://go.shopmy.us/p-34603178 (similar)\n⇢ Dancer’s Ballet Dress – Konges Sloejd – https://go.shopmy.us/p-34602714 \n⇢ Custom Duck Cardigan – Daisy and River – https://go.shopmy.us/p-34602927 (similar)\n⇢ Scarecrow’s Wedding PJs – Asda – https://go.shopmy.us/p-34132906 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Novie's 2nd Birthday & Surprise Guest 'Question Of The Day' | Vlogmas Day 6", 10, 1584, false, "wVi9GrWkqO4", "https://www.youtube.com/watch?v=wVi9GrWkqO4", "/downloads/shows/Zoe sugg/Season 2025/s2025e120700 - Novie's 2nd Birthday & Surprise Guest 'Question Of The Day' | Vlogmas Day 6.mp4", false, ~U[2025-12-07 17:00:29Z]] 01:33:46.853 [debug] QUERY OK source="sources" db=0.2ms idle=150.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:46.854 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:33:46.854 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [105011] 01:33:46.855 [debug] Current batch of media processed. Will check again in 1000ms 01:33:47.855 [debug] Current batch of media processed. Will check again in 1000ms 01:33:48.856 [debug] Current batch of media processed. Will check again in 1000ms 01:33:49.857 [debug] Current batch of media processed. Will check again in 1000ms 01:33:50.858 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Prepping & Decorating For Novies Birthday | Vlogmas Day 5\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Polly Pocket Advent Calendar – https://bit.ly/4ovPsqy (OOS) / https://go.shopmy.us/p-33977183 (similar)\n↠ Sarrah Hazel Rug – Ruggable – https://go.shopmy.us/p-34396719 \n↠ Tidlo The Oldfield Farm – https://go.shopmy.us/p-34503631 \n↠ Steve & Maggie: Birthday Surprise – https://amzn.to/48l72ca (OOS)\n↠ Steve & Maggie: Halloween Soundbook – https://amzn.to/4oCIVdS (OOS)\n↠ Maggie Glove Puppet – https://go.shopmy.us/p-34503609 \n↠ The Sunday Diary – https://bit.ly/3YcPTLI\n\nW E A R I N G :\n⇢ Hoodie in Periwinkle – Dear Sunday – https://bit.ly/44e7bf0 \n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Green Parka – Sea Salt Cornwall – https://go.shopmy.us/p-34403431 \n⇢ Sweatshirt in Fern – Dear Sunday – https://bit.ly/48yxgqo \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Lori Banana Sweater – Claude & Co – https://go.shopmy.us/p-14305752 \n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n\nK I D S :\n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Santa PJs (old) – Chelsea Peers – https://go.shopmy.us/p-34392963 (similar)\n⇢ Off White Puffer Jacket – Tiny Colours – https://go.shopmy.us/p-30351757 \n⇢ Christmas Jumper (old) – Little Worne Store – https://go.shopmy.us/p-34403044 (similar)\n⇢ Duck Wellies – Jojo Maman Bebe – https://go.shopmy.us/p-26425775 \n⇢ Brown Corduroy Trousers – Tiny Colours – https://go.shopmy.us/p-34503423 \n⇢ Denim Pumpkin Dress – Next – https://go.shopmy.us/p-28913138\n⇢ Fern Vest – Mabli – https://go.shopmy.us/p-28928115 \n\nA L F I E :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34503298 \n⇢ Checkerboard Sweater – Blacksmith Store – https://go.shopmy.us/p-34503433 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "duration" => 2422, "filename" => "/downloads/shows/Zoe sugg/Season 2025/s2025e120600 - Prepping & Decorating For Novies Birthday | Vlogmas Day 5.mp4", "id" => "GYBy0IULHS0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GYBy0IULHS0", "playlist_index" => 20, "timestamp" => 1765041198, "title" => "Prepping & Decorating For Novies Birthday | Vlogmas Day 5", "upload_date" => "20251206"} 01:33:50.859 [debug] QUERY OK source="sources" db=0.3ms idle=842.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:50.860 [debug] QUERY OK source="sources" db=0.1ms idle=843.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.862 [debug] QUERY OK source="media_items" db=1.7ms idle=843.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-06 17:13:18Z], 10] 01:33:50.865 [debug] QUERY OK source="media_items" db=2.2ms idle=845.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Prepping & Decorating For Novies Birthday | Vlogmas Day 5\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Polly Pocket Advent Calendar – https://bit.ly/4ovPsqy (OOS) / https://go.shopmy.us/p-33977183 (similar)\n↠ Sarrah Hazel Rug – Ruggable – https://go.shopmy.us/p-34396719 \n↠ Tidlo The Oldfield Farm – https://go.shopmy.us/p-34503631 \n↠ Steve & Maggie: Birthday Surprise – https://amzn.to/48l72ca (OOS)\n↠ Steve & Maggie: Halloween Soundbook – https://amzn.to/4oCIVdS (OOS)\n↠ Maggie Glove Puppet – https://go.shopmy.us/p-34503609 \n↠ The Sunday Diary – https://bit.ly/3YcPTLI\n\nW E A R I N G :\n⇢ Hoodie in Periwinkle – Dear Sunday – https://bit.ly/44e7bf0 \n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Green Parka – Sea Salt Cornwall – https://go.shopmy.us/p-34403431 \n⇢ Sweatshirt in Fern – Dear Sunday – https://bit.ly/48yxgqo \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Lori Banana Sweater – Claude & Co – https://go.shopmy.us/p-14305752 \n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n\nK I D S :\n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Santa PJs (old) – Chelsea Peers – https://go.shopmy.us/p-34392963 (similar)\n⇢ Off White Puffer Jacket – Tiny Colours – https://go.shopmy.us/p-30351757 \n⇢ Christmas Jumper (old) – Little Worne Store – https://go.shopmy.us/p-34403044 (similar)\n⇢ Duck Wellies – Jojo Maman Bebe – https://go.shopmy.us/p-26425775 \n⇢ Brown Corduroy Trousers – Tiny Colours – https://go.shopmy.us/p-34503423 \n⇢ Denim Pumpkin Dress – Next – https://go.shopmy.us/p-28913138\n⇢ Fern Vest – Mabli – https://go.shopmy.us/p-28928115 \n\nA L F I E :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34503298 \n⇢ Checkerboard Sweater – Blacksmith Store – https://go.shopmy.us/p-34503433 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Prepping & Decorating For Novies Birthday | Vlogmas Day 5", "0c6b8108-68d7-4c1c-9fac-eca016ae6940", 10, [], 2422, false, "GYBy0IULHS0", "https://www.youtube.com/watch?v=GYBy0IULHS0", 20, "/downloads/shows/Zoe sugg/Season 2025/s2025e120600 - Prepping & Decorating For Novies Birthday | Vlogmas Day 5.mp4", false, false, false, 98, ~U[2025-12-06 17:13:18Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "Prepping & Decorating For Novies Birthday | Vlogmas Day 5\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Polly Pocket Advent Calendar – https://bit.ly/4ovPsqy (OOS) / https://go.shopmy.us/p-33977183 (similar)\n↠ Sarrah Hazel Rug – Ruggable – https://go.shopmy.us/p-34396719 \n↠ Tidlo The Oldfield Farm – https://go.shopmy.us/p-34503631 \n↠ Steve & Maggie: Birthday Surprise – https://amzn.to/48l72ca (OOS)\n↠ Steve & Maggie: Halloween Soundbook – https://amzn.to/4oCIVdS (OOS)\n↠ Maggie Glove Puppet – https://go.shopmy.us/p-34503609 \n↠ The Sunday Diary – https://bit.ly/3YcPTLI\n\nW E A R I N G :\n⇢ Hoodie in Periwinkle – Dear Sunday – https://bit.ly/44e7bf0 \n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Green Parka – Sea Salt Cornwall – https://go.shopmy.us/p-34403431 \n⇢ Sweatshirt in Fern – Dear Sunday – https://bit.ly/48yxgqo \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Lori Banana Sweater – Claude & Co – https://go.shopmy.us/p-14305752 \n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n\nK I D S :\n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Santa PJs (old) – Chelsea Peers – https://go.shopmy.us/p-34392963 (similar)\n⇢ Off White Puffer Jacket – Tiny Colours – https://go.shopmy.us/p-30351757 \n⇢ Christmas Jumper (old) – Little Worne Store – https://go.shopmy.us/p-34403044 (similar)\n⇢ Duck Wellies – Jojo Maman Bebe – https://go.shopmy.us/p-26425775 \n⇢ Brown Corduroy Trousers – Tiny Colours – https://go.shopmy.us/p-34503423 \n⇢ Denim Pumpkin Dress – Next – https://go.shopmy.us/p-28913138\n⇢ Fern Vest – Mabli – https://go.shopmy.us/p-28928115 \n\nA L F I E :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34503298 \n⇢ Checkerboard Sweater – Blacksmith Store – https://go.shopmy.us/p-34503433 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Prepping & Decorating For Novies Birthday | Vlogmas Day 5", 10, 2422, false, "GYBy0IULHS0", "https://www.youtube.com/watch?v=GYBy0IULHS0", "/downloads/shows/Zoe sugg/Season 2025/s2025e120600 - Prepping & Decorating For Novies Birthday | Vlogmas Day 5.mp4", false, ~U[2025-12-06 17:13:18Z]] 01:33:50.865 [debug] QUERY OK source="sources" db=0.2ms idle=157.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.866 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 01:33:50.867 [debug] QUERY OK source="media_items" db=0.4ms idle=6.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [104602] 01:33:50.867 [debug] Current batch of media processed. Will check again in 1000ms 01:33:50.924 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@ZoeSugg/ --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Zoe sugg/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/27/5e/275e8f075d62aae5b8d659d618068310202281bb595640527ccff61cc896e7de.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/55/55/5555c829281355dfc727ad766d6ae3fc2f3109ba2cf9ebe66249ee8e374ff567.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 01:33:50.925 [debug] Gracefully stopping file follower 01:33:50.926 [debug] QUERY OK source="sources" db=0.4ms idle=63.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [10] 01:33:50.927 [debug] QUERY OK source="sources" db=0.2ms idle=62.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.929 [debug] QUERY OK source="media_items" db=1.7ms idle=61.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-25 16:19:00Z], 10] 01:33:50.930 [debug] QUERY OK source="media_items" db=0.9ms idle=63.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["The Christmas Eve Finale, Family Games & Secret Santa | Vlogmas Day 24\n\nThank you so much for watching, commenting, liking, sharing and just generally being a part of this lovely community over here! You guys really are the best. We wish you the happiest of Christmasses and we'll see you in 2026! 🎉 \n\nhttps://dearsunday.com/ \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "The Christmas Eve Finale, Family Games & Secret Santa | Vlogmas Day 24", "62a6a2f2-443c-41d3-881b-4b4be8e3299b", 10, [], 2549, false, "sdK60dcFiY4", "https://www.youtube.com/watch?v=sdK60dcFiY4", 1, "/downloads/shows/Zoe sugg/Season 2025/s2025e122500 - The Christmas Eve Finale, Family Games & Secret Santa | Vlogmas Day 24.mp4", false, false, false, 98, ~U[2025-12-25 16:19:00Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "The Christmas Eve Finale, Family Games & Secret Santa | Vlogmas Day 24\n\nThank you so much for watching, commenting, liking, sharing and just generally being a part of this lovely community over here! You guys really are the best. We wish you the happiest of Christmasses and we'll see you in 2026! 🎉 \n\nhttps://dearsunday.com/ \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "The Christmas Eve Finale, Family Games & Secret Santa | Vlogmas Day 24", 10, 2549, false, "sdK60dcFiY4", "https://www.youtube.com/watch?v=sdK60dcFiY4", "/downloads/shows/Zoe sugg/Season 2025/s2025e122500 - The Christmas Eve Finale, Family Games & Secret Santa | Vlogmas Day 24.mp4", false, ~U[2025-12-25 16:19:00Z]] 01:33:50.930 [debug] QUERY OK source="sources" db=0.2ms idle=63.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.932 [debug] QUERY OK source="media_items" db=1.5ms idle=4.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-24 17:00:02Z], 10] 01:33:50.938 [debug] QUERY OK source="media_items" db=4.7ms idle=6.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Christmas Food Shop & Best Question Yet | Vlogmas Day 23\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ M&S – https://bit.ly/4sbta0n\n↠ BW Collective – https://bit.ly/3La4Ye5 \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Faded Apricot Cap – Dear Sunday – https://bit.ly/4jeEeGb \n⇢ Hoodie in Fern – Dear Sunday – https://bit.ly/4rH7x7W \n⇢ Oversized White Sweatshirt – ASOS – https://go.shopmy.us/p-29019412 \n⇢ Leopard Print Jacket – ASOS – https://go.shopmy.us/p-36402911 (similar)\n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n⇢ Green Knit Jumper – Topshop – https://go.shopmy.us/p-26422964 \n⇢ Oura Ring – https://go.shopmy.us/p-14952914 \n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Blue Hooded Puffer Coat – M&S – https://go.shopmy.us/p-34738074 \n⇢ Pink Puffer Coat – Zara Kids – https://bit.ly/4p5MgTr\n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Christmas Food Shop & Best Question Yet | Vlogmas Day 23", "7ac77bb5-3ce0-4189-a07c-83be2b19c8f9", 10, [], 2203, false, "-p-HlChQmXg", "https://www.youtube.com/watch?v=-p-HlChQmXg", 2, "/downloads/shows/Zoe sugg/Season 2025/s2025e122400 - Christmas Food Shop & Best Question Yet | Vlogmas Day 23.mp4", false, false, false, 98, ~U[2025-12-24 17:00:02Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "Christmas Food Shop & Best Question Yet | Vlogmas Day 23\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ M&S – https://bit.ly/4sbta0n\n↠ BW Collective – https://bit.ly/3La4Ye5 \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Faded Apricot Cap – Dear Sunday – https://bit.ly/4jeEeGb \n⇢ Hoodie in Fern – Dear Sunday – https://bit.ly/4rH7x7W \n⇢ Oversized White Sweatshirt – ASOS – https://go.shopmy.us/p-29019412 \n⇢ Leopard Print Jacket – ASOS – https://go.shopmy.us/p-36402911 (similar)\n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n⇢ Green Knit Jumper – Topshop – https://go.shopmy.us/p-26422964 \n⇢ Oura Ring – https://go.shopmy.us/p-14952914 \n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Blue Hooded Puffer Coat – M&S – https://go.shopmy.us/p-34738074 \n⇢ Pink Puffer Coat – Zara Kids – https://bit.ly/4p5MgTr\n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Christmas Food Shop & Best Question Yet | Vlogmas Day 23", 10, 2203, false, "-p-HlChQmXg", "https://www.youtube.com/watch?v=-p-HlChQmXg", "/downloads/shows/Zoe sugg/Season 2025/s2025e122400 - Christmas Food Shop & Best Question Yet | Vlogmas Day 23.mp4", false, ~U[2025-12-24 17:00:02Z]] 01:33:50.938 [debug] QUERY OK source="sources" db=0.3ms idle=9.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.940 [debug] QUERY OK source="media_items" db=1.5ms idle=8.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-23 17:00:04Z], 10] 01:33:50.942 [debug] QUERY OK source="media_items" db=1.2ms idle=10.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Wrapping Christmas Presents & Surprise Gift | Vlogmas Day 22\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Oeuf – https://oeuf.cafe/ \n↠ Dominos – https://www.dominos.co.uk/ \n↠ Le Toy Van Showtime Puppet Theatre – https://go.shopmy.us/p-36402776 \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Leopard Print Jacket – ASOS – https://go.shopmy.us/p-36402911 (similar)\n⇢ Faded Apricot Cap – Dear Sunday – https://bit.ly/4jeEeGb \n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n\nK I D S :\n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-35601323 \n⇢ Cats Sweatshirt – Konges Sloejd – https://go.shopmy.us/p-36403095 \n⇢ Rex Moon Trousers – Claude & Co – https://go.shopmy.us/p-30350431 \n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Wrapping Christmas Presents & Surprise Gift | Vlogmas Day 22", "b778a9f5-35fe-4255-9ef3-0e2d509f70b0", 10, [], 2187, false, "yWV4qFgVWsY", "https://www.youtube.com/watch?v=yWV4qFgVWsY", 3, "/downloads/shows/Zoe sugg/Season 2025/s2025e122300 - Wrapping Christmas Presents & Surprise Gift | Vlogmas Day 22.mp4", false, false, false, 98, ~U[2025-12-23 17:00:04Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "Wrapping Christmas Presents & Surprise Gift | Vlogmas Day 22\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Oeuf – https://oeuf.cafe/ \n↠ Dominos – https://www.dominos.co.uk/ \n↠ Le Toy Van Showtime Puppet Theatre – https://go.shopmy.us/p-36402776 \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Leopard Print Jacket – ASOS – https://go.shopmy.us/p-36402911 (similar)\n⇢ Faded Apricot Cap – Dear Sunday – https://bit.ly/4jeEeGb \n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n\nK I D S :\n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-35601323 \n⇢ Cats Sweatshirt – Konges Sloejd – https://go.shopmy.us/p-36403095 \n⇢ Rex Moon Trousers – Claude & Co – https://go.shopmy.us/p-30350431 \n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Wrapping Christmas Presents & Surprise Gift | Vlogmas Day 22", 10, 2187, false, "yWV4qFgVWsY", "https://www.youtube.com/watch?v=yWV4qFgVWsY", "/downloads/shows/Zoe sugg/Season 2025/s2025e122300 - Wrapping Christmas Presents & Surprise Gift | Vlogmas Day 22.mp4", false, ~U[2025-12-23 17:00:04Z]] 01:33:50.943 [debug] QUERY OK source="sources" db=0.3ms idle=10.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.945 [debug] QUERY OK source="media_items" db=1.6ms idle=5.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-22 17:00:02Z], 10] 01:33:50.947 [debug] QUERY OK source="media_items" db=1.4ms idle=6.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Decorating The Mouse House For Christmas & Splashing In Muddy Puddles | Vlogmas Day 21\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ String Lights – https://go.shopmy.us/p-36312698 (similar)\n↠ Christmas House Set – https://bit.ly/3L3Gm6T\n↠ Santa Maileg Mouse – Junior Edition – https://bit.ly/4rzbcEL\n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n↠ Vlogmas Intro Animation by Rosie Miles – https://bit.ly/4f3p8iJ\n↠ Vlogmas Intro Illustration BTS – https://bit.ly/49mcoEm \n\nW E A R I N G :\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n⇢ Green Parka – Sea Salt Cornwall – https://go.shopmy.us/p-34403431 \n\nK I D S :\n⇢ Orange Autumnal PJs – Next – https://go.shopmy.us/p-36311946\n⇢ Discoball Baby Bibs with Sleeves – https://amzn.to/495ZcC6\n⇢ Muddy Puddles Blue Suit – Next – https://go.shopmy.us/p-36313183\n⇢ Muddy Puddles Pink Star Suit – Next – https://go.shopmy.us/p-36313264 \n⇢ Duck Wellies – Jojo Maman Bebe – https://go.shopmy.us/p-26425775 \n⇢ Ladybird Wellies – Next – https://go.shopmy.us/p-26425857 \n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-35601323 \n⇢ Guinea Pig Santa PJs – George at Asda – https://go.shopmy.us/p-36225878 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Decorating The Mouse House For Christmas & Splashing In Muddy Puddles | Vlogmas Day 21", "f21d6669-253d-43dc-8c29-b7b89100f34b", 10, [], 2444, false, "cHNVOhiiTD0", "https://www.youtube.com/watch?v=cHNVOhiiTD0", 4, "/downloads/shows/Zoe sugg/Season 2025/s2025e122200 - Decorating The Mouse House For Christmas & Splashing In Muddy Puddles | Vlogmas Day 21.mp4", false, false, false, 98, ~U[2025-12-22 17:00:02Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "Decorating The Mouse House For Christmas & Splashing In Muddy Puddles | Vlogmas Day 21\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ String Lights – https://go.shopmy.us/p-36312698 (similar)\n↠ Christmas House Set – https://bit.ly/3L3Gm6T\n↠ Santa Maileg Mouse – Junior Edition – https://bit.ly/4rzbcEL\n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n↠ Vlogmas Intro Animation by Rosie Miles – https://bit.ly/4f3p8iJ\n↠ Vlogmas Intro Illustration BTS – https://bit.ly/49mcoEm \n\nW E A R I N G :\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n⇢ Green Parka – Sea Salt Cornwall – https://go.shopmy.us/p-34403431 \n\nK I D S :\n⇢ Orange Autumnal PJs – Next – https://go.shopmy.us/p-36311946\n⇢ Discoball Baby Bibs with Sleeves – https://amzn.to/495ZcC6\n⇢ Muddy Puddles Blue Suit – Next – https://go.shopmy.us/p-36313183\n⇢ Muddy Puddles Pink Star Suit – Next – https://go.shopmy.us/p-36313264 \n⇢ Duck Wellies – Jojo Maman Bebe – https://go.shopmy.us/p-26425775 \n⇢ Ladybird Wellies – Next – https://go.shopmy.us/p-26425857 \n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-35601323 \n⇢ Guinea Pig Santa PJs – George at Asda – https://go.shopmy.us/p-36225878 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Decorating The Mouse House For Christmas & Splashing In Muddy Puddles | Vlogmas Day 21", 10, 2444, false, "cHNVOhiiTD0", "https://www.youtube.com/watch?v=cHNVOhiiTD0", "/downloads/shows/Zoe sugg/Season 2025/s2025e122200 - Decorating The Mouse House For Christmas & Splashing In Muddy Puddles | Vlogmas Day 21.mp4", false, ~U[2025-12-22 17:00:02Z]] 01:33:50.948 [debug] QUERY OK source="sources" db=0.4ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.950 [debug] QUERY OK source="media_items" db=1.5ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-21 17:00:05Z], 10] 01:33:50.952 [debug] QUERY OK source="media_items" db=1.4ms idle=7.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Beachside Brunch, Crafty Afternoon & Twenty Year Upload Plan | Vlogmas Day 20\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n↠ Christmas Tree Magic Wand – https://bit.ly/44mFPDy \n↠ Lip Cheat Contour DUO Tan/Medium – Charlotte Tilbury – https://go.shopmy.us/p-35021618 \n↠ Honey Infused Lip Oil – Gisou – https://go.shopmy.us/p-36226024 \n↠ Reading Room – https://bit.ly/4j9p0Cc\n↠ Gingerbread House – Søstrene Grene – https://go.shopmy.us/p-36226132 \n\nW E A R I N G :\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Triangle Brown Scarf – TBCo – https://go.shopmy.us/p-34129344\n⇢ Brown Striped Knitted Cardigan – ASOS – https://go.shopmy.us/p-30350210 \n⇢ Suede Bomber Brown Jacket – Zara – https://bit.ly/44UkEZz\n⇢ Sunglasses – Ace & Tate – Jack (OOS) / Eleanor – https://go.shopmy.us/p-26425554 (similar) \n⇢ Cream Barrel Jeans – ASOS – https://go.shopmy.us/p-28698841 \n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n\nK I D S :\n⇢ Guinea Pig Santa PJs – George at Asda – https://go.shopmy.us/p-36225878 \n⇢ Red Striped Dungarees – Zara – https://bit.ly/3MO5yyP \n⇢ Green Corduroy Trousers – Next – https://go.shopmy.us/p-26426170\n⇢ Christmas Jumper (old) – Little Worne Store – https://go.shopmy.us/p-34403044 (similar)\n⇢ Embroidered Padded Teddy Vest – TinyCottons – https://go.shopmy.us/p-36226531 \n⇢ Brown Sweatshirt – Tiny Colours – https://go.shopmy.us/p-28829593 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Beachside Brunch, Crafty Afternoon & Twenty Year Upload Plan | Vlogmas Day 20", "0e469027-22cb-454f-bed6-d72ef5a6730b", 10, [], 2350, false, "4_uYCf7FR2E", "https://www.youtube.com/watch?v=4_uYCf7FR2E", 5, "/downloads/shows/Zoe sugg/Season 2025/s2025e122100 - Beachside Brunch, Crafty Afternoon & Twenty Year Upload Plan | Vlogmas Day 20.mp4", false, false, false, 98, ~U[2025-12-21 17:00:05Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "Beachside Brunch, Crafty Afternoon & Twenty Year Upload Plan | Vlogmas Day 20\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n↠ Christmas Tree Magic Wand – https://bit.ly/44mFPDy \n↠ Lip Cheat Contour DUO Tan/Medium – Charlotte Tilbury – https://go.shopmy.us/p-35021618 \n↠ Honey Infused Lip Oil – Gisou – https://go.shopmy.us/p-36226024 \n↠ Reading Room – https://bit.ly/4j9p0Cc\n↠ Gingerbread House – Søstrene Grene – https://go.shopmy.us/p-36226132 \n\nW E A R I N G :\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Triangle Brown Scarf – TBCo – https://go.shopmy.us/p-34129344\n⇢ Brown Striped Knitted Cardigan – ASOS – https://go.shopmy.us/p-30350210 \n⇢ Suede Bomber Brown Jacket – Zara – https://bit.ly/44UkEZz\n⇢ Sunglasses – Ace & Tate – Jack (OOS) / Eleanor – https://go.shopmy.us/p-26425554 (similar) \n⇢ Cream Barrel Jeans – ASOS – https://go.shopmy.us/p-28698841 \n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n\nK I D S :\n⇢ Guinea Pig Santa PJs – George at Asda – https://go.shopmy.us/p-36225878 \n⇢ Red Striped Dungarees – Zara – https://bit.ly/3MO5yyP \n⇢ Green Corduroy Trousers – Next – https://go.shopmy.us/p-26426170\n⇢ Christmas Jumper (old) – Little Worne Store – https://go.shopmy.us/p-34403044 (similar)\n⇢ Embroidered Padded Teddy Vest – TinyCottons – https://go.shopmy.us/p-36226531 \n⇢ Brown Sweatshirt – Tiny Colours – https://go.shopmy.us/p-28829593 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Beachside Brunch, Crafty Afternoon & Twenty Year Upload Plan | Vlogmas Day 20", 10, 2350, false, "4_uYCf7FR2E", "https://www.youtube.com/watch?v=4_uYCf7FR2E", "/downloads/shows/Zoe sugg/Season 2025/s2025e122100 - Beachside Brunch, Crafty Afternoon & Twenty Year Upload Plan | Vlogmas Day 20.mp4", false, ~U[2025-12-21 17:00:05Z]] 01:33:50.952 [debug] QUERY OK source="sources" db=0.3ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.954 [debug] QUERY OK source="media_items" db=1.5ms idle=5.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-20 17:00:16Z], 10] 01:33:50.956 [debug] QUERY OK source="media_items" db=1.1ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Cosy Day At Alfie's Parents House & We Finally Finished The Tree | Vlogmas Day 19\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Pets Corner – https://bit.ly/3YIelVq \n↠ Nandos – https://bit.ly/4aXQEjk \n↠ Lapland UK – https://bit.ly/3Y68XeD \n↠ Bow Christmas Bedding – Chelsea Peers (old) – https://go.shopmy.us/p-36157548 (others)\n\nW E A R I N G :\n⇢ Lori Banana Sweater – Claude & Co – https://go.shopmy.us/p-14305752 \n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Cosy Day At Alfie's Parents House & We Finally Finished The Tree | Vlogmas Day 19", "b4bb08ea-8405-4f0e-b753-d8c67ace9150", 10, [], 2726, false, "JwEU-C8YDIQ", "https://www.youtube.com/watch?v=JwEU-C8YDIQ", 6, "/downloads/shows/Zoe sugg/Season 2025/s2025e122000 - Cosy Day At Alfie's Parents House & We Finally Finished The Tree | Vlogmas Day 19.mp4", false, false, false, 98, ~U[2025-12-20 17:00:16Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "Cosy Day At Alfie's Parents House & We Finally Finished The Tree | Vlogmas Day 19\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Pets Corner – https://bit.ly/3YIelVq \n↠ Nandos – https://bit.ly/4aXQEjk \n↠ Lapland UK – https://bit.ly/3Y68XeD \n↠ Bow Christmas Bedding – Chelsea Peers (old) – https://go.shopmy.us/p-36157548 (others)\n\nW E A R I N G :\n⇢ Lori Banana Sweater – Claude & Co – https://go.shopmy.us/p-14305752 \n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Cosy Day At Alfie's Parents House & We Finally Finished The Tree | Vlogmas Day 19", 10, 2726, false, "JwEU-C8YDIQ", "https://www.youtube.com/watch?v=JwEU-C8YDIQ", "/downloads/shows/Zoe sugg/Season 2025/s2025e122000 - Cosy Day At Alfie's Parents House & We Finally Finished The Tree | Vlogmas Day 19.mp4", false, ~U[2025-12-20 17:00:16Z]] 01:33:50.957 [debug] QUERY OK source="sources" db=0.3ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.958 [debug] QUERY OK source="media_items" db=1.5ms idle=5.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-19 17:00:02Z], 10] 01:33:50.960 [debug] QUERY OK source="media_items" db=1.2ms idle=6.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Making Decorations & Childhood Christmas Lists With Poppy | Vlogmas Day 18\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Brighton Santa Bus – https://bit.ly/3Y47Jkc\n\nW E A R I N G :\n⇢ Green & Pink Checked PJ Bottoms – George at ASDA – https://go.shopmy.us/p-35844517\n⇢ Long Sleeve Brown Top – ASOS – https://go.shopmy.us/p-36070680 (similar)\n⇢ Jacquard Argyle Knit Cardigan – Zara – https://bit.ly/3MJ0ifO\n⇢ Barrel White Jeans – ASOS – https://go.shopmy.us/p-36071367 \n⇢ Dear Sunday Cap Faded Apricot – https://bit.ly/4pKkRXE \n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Grinch Dressing Gown – George at Asda – https://go.shopmy.us/p-36070446 \n⇢ Noddy Rain Coat – Vinted\n⇢ Tiny Towns Green Jumper – Tiny Cottons – https://go.shopmy.us/p-35964860 \n⇢ Iska Flower Cardigan – Konges Sloejd – https://go.shopmy.us/p-36072175 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Making Decorations & Childhood Christmas Lists With Poppy | Vlogmas Day 18", "affab953-295e-43b7-9405-abbb2ccb7434", 10, [], 4066, false, "RI8iYh7W77A", "https://www.youtube.com/watch?v=RI8iYh7W77A", 7, "/downloads/shows/Zoe sugg/Season 2025/s2025e121900 - Making Decorations & Childhood Christmas Lists With Poppy | Vlogmas Day 18.mp4", false, false, false, 98, ~U[2025-12-19 17:00:02Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "Making Decorations & Childhood Christmas Lists With Poppy | Vlogmas Day 18\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Brighton Santa Bus – https://bit.ly/3Y47Jkc\n\nW E A R I N G :\n⇢ Green & Pink Checked PJ Bottoms – George at ASDA – https://go.shopmy.us/p-35844517\n⇢ Long Sleeve Brown Top – ASOS – https://go.shopmy.us/p-36070680 (similar)\n⇢ Jacquard Argyle Knit Cardigan – Zara – https://bit.ly/3MJ0ifO\n⇢ Barrel White Jeans – ASOS – https://go.shopmy.us/p-36071367 \n⇢ Dear Sunday Cap Faded Apricot – https://bit.ly/4pKkRXE \n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Grinch Dressing Gown – George at Asda – https://go.shopmy.us/p-36070446 \n⇢ Noddy Rain Coat – Vinted\n⇢ Tiny Towns Green Jumper – Tiny Cottons – https://go.shopmy.us/p-35964860 \n⇢ Iska Flower Cardigan – Konges Sloejd – https://go.shopmy.us/p-36072175 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Making Decorations & Childhood Christmas Lists With Poppy | Vlogmas Day 18", 10, 4066, false, "RI8iYh7W77A", "https://www.youtube.com/watch?v=RI8iYh7W77A", "/downloads/shows/Zoe sugg/Season 2025/s2025e121900 - Making Decorations & Childhood Christmas Lists With Poppy | Vlogmas Day 18.mp4", false, ~U[2025-12-19 17:00:02Z]] 01:33:50.961 [debug] QUERY OK source="sources" db=0.3ms idle=6.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.963 [debug] QUERY OK source="media_items" db=1.4ms idle=5.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-18 17:00:16Z], 10] 01:33:50.965 [debug] QUERY OK source="media_items" db=1.3ms idle=6.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Christmas Presents With Mark & A Trip Into Town | Vlogmas Day 17\n\nMarks Video - https://youtu.be/zVWatmyqK4Q?\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Mark’s YouTube – https://www.youtube.com/@MarkFerris1 \n↠ Christmas Tree Magic Wand – https://bit.ly/44mFPDy \n↠ Horror VHS Cemetery Puzzle – https://amzn.to/4ql4Ojg \n↠ Supersoft Faux Fur Electric Throw – https://go.shopmy.us/p-35963568 \n↠ Scream Christmas Wreath – Vinted\n↠ It’s Been Emotional Blanket – https://go.shopmy.us/p-35964104 \n↠ The Pickle of Brighton – https://bit.ly/44y1M2x \n↠ Wagamama – https://www.wagamama.com/ \n↠ Photomatic – https://bit.ly/4pDMS3a \n\nW E A R I N G :\n⇢ Green & Pink Checked PJ Bottoms – George at ASDA – https://go.shopmy.us/p-35844517\n⇢ Home Alone Cardigan – Zara – https://bit.ly/4qgdqrc\n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181\n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Christmas Car PJs – Mori – https://go.shopmy.us/p-34392620 \n⇢ Tiny Towns Green Jumper – Tiny Cottons – https://go.shopmy.us/p-35964860 \n⇢ Olive Gingham Trousers – Organic Zoo – https://go.shopmy.us/p-16619307 \n⇢ Star Bomber Jacket – Konges Sloejd – https://go.shopmy.us/p-34870950 \n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34249354 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Christmas Presents With Mark & A Trip Into Town | Vlogmas Day 17", "b9467b6f-259d-40c9-a582-869529eaf1f4", 10, [], 3075, false, "uv2t0sU4hO0", "https://www.youtube.com/watch?v=uv2t0sU4hO0", 8, "/downloads/shows/Zoe sugg/Season 2025/s2025e121800 - Christmas Presents With Mark & A Trip Into Town | Vlogmas Day 17.mp4", false, false, false, 98, ~U[2025-12-18 17:00:16Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "Christmas Presents With Mark & A Trip Into Town | Vlogmas Day 17\n\nMarks Video - https://youtu.be/zVWatmyqK4Q?\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Mark’s YouTube – https://www.youtube.com/@MarkFerris1 \n↠ Christmas Tree Magic Wand – https://bit.ly/44mFPDy \n↠ Horror VHS Cemetery Puzzle – https://amzn.to/4ql4Ojg \n↠ Supersoft Faux Fur Electric Throw – https://go.shopmy.us/p-35963568 \n↠ Scream Christmas Wreath – Vinted\n↠ It’s Been Emotional Blanket – https://go.shopmy.us/p-35964104 \n↠ The Pickle of Brighton – https://bit.ly/44y1M2x \n↠ Wagamama – https://www.wagamama.com/ \n↠ Photomatic – https://bit.ly/4pDMS3a \n\nW E A R I N G :\n⇢ Green & Pink Checked PJ Bottoms – George at ASDA – https://go.shopmy.us/p-35844517\n⇢ Home Alone Cardigan – Zara – https://bit.ly/4qgdqrc\n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181\n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Christmas Car PJs – Mori – https://go.shopmy.us/p-34392620 \n⇢ Tiny Towns Green Jumper – Tiny Cottons – https://go.shopmy.us/p-35964860 \n⇢ Olive Gingham Trousers – Organic Zoo – https://go.shopmy.us/p-16619307 \n⇢ Star Bomber Jacket – Konges Sloejd – https://go.shopmy.us/p-34870950 \n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34249354 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Christmas Presents With Mark & A Trip Into Town | Vlogmas Day 17", 10, 3075, false, "uv2t0sU4hO0", "https://www.youtube.com/watch?v=uv2t0sU4hO0", "/downloads/shows/Zoe sugg/Season 2025/s2025e121800 - Christmas Presents With Mark & A Trip Into Town | Vlogmas Day 17.mp4", false, ~U[2025-12-18 17:00:16Z]] 01:33:50.965 [debug] QUERY OK source="sources" db=0.3ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.967 [debug] QUERY OK source="media_items" db=1.5ms idle=5.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-17 17:00:06Z], 10] 01:33:50.969 [debug] QUERY OK source="media_items" db=1.3ms idle=6.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Christmas Garden Center Trip & Sleepover With Mark | Vlogmas Day 16\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Bayon Bakery – https://www.bayonbakery.co.uk/ \n↠ Mark’s YouTube – https://www.youtube.com/@MarkFerris1 \n↠ Haskins – https://www.haskins.co.uk/ \n↠ Tulley’s Christmas Lights – https://www.christmaslightshow.co.uk/ \n\nW E A R I N G :\n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n⇢ Animal Print Trousers – Topshop (OOS) – https://go.shopmy.us/p-29388495 (similar)\n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Green & Pink Checked PJ Bottoms – George at ASDA – https://go.shopmy.us/p-35844517\n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Novie’s Bear Jumper – Vinted\n⇢ Brown Corduroy Trousers – Tiny Colours – https://go.shopmy.us/p-34503423 \n⇢ Crochet Pink Cardigan – Misha & Puff / Junior Edition (OOS) – https://go.shopmy.us/p-35843836 \n⇢ Floral Twill Marine Trousers – Zara Kids – https://bit.ly/4pNoigo \n⇢ Blue Hooded Puffer Coat – M&S – https://go.shopmy.us/p-34738074 \n⇢ Duck Wellies – JoJo Maman Bebe – https://go.shopmy.us/p-26425775\n⇢ Pink Puffer Coat – Zara Kids – https://bit.ly/4p5MgTr\n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Christmas Garden Center Trip & Sleepover With Mark | Vlogmas Day 16", "d4e06ed2-8e17-49bc-80cd-41f3725757b5", 10, [], 3434, false, "poJyG1OWUXo", "https://www.youtube.com/watch?v=poJyG1OWUXo", 9, "/downloads/shows/Zoe sugg/Season 2025/s2025e121700 - Christmas Garden Center Trip & Sleepover With Mark | Vlogmas Day 16.mp4", false, false, false, 98, ~U[2025-12-17 17:00:06Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "Christmas Garden Center Trip & Sleepover With Mark | Vlogmas Day 16\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Bayon Bakery – https://www.bayonbakery.co.uk/ \n↠ Mark’s YouTube – https://www.youtube.com/@MarkFerris1 \n↠ Haskins – https://www.haskins.co.uk/ \n↠ Tulley’s Christmas Lights – https://www.christmaslightshow.co.uk/ \n\nW E A R I N G :\n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n⇢ Animal Print Trousers – Topshop (OOS) – https://go.shopmy.us/p-29388495 (similar)\n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Green & Pink Checked PJ Bottoms – George at ASDA – https://go.shopmy.us/p-35844517\n\nK I D S :\n⇢ Muppets Christmas PJ Set – George at Asda – https://go.shopmy.us/p-33977817 \n⇢ Novie’s Bear Jumper – Vinted\n⇢ Brown Corduroy Trousers – Tiny Colours – https://go.shopmy.us/p-34503423 \n⇢ Crochet Pink Cardigan – Misha & Puff / Junior Edition (OOS) – https://go.shopmy.us/p-35843836 \n⇢ Floral Twill Marine Trousers – Zara Kids – https://bit.ly/4pNoigo \n⇢ Blue Hooded Puffer Coat – M&S – https://go.shopmy.us/p-34738074 \n⇢ Duck Wellies – JoJo Maman Bebe – https://go.shopmy.us/p-26425775\n⇢ Pink Puffer Coat – Zara Kids – https://bit.ly/4p5MgTr\n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Christmas Garden Center Trip & Sleepover With Mark | Vlogmas Day 16", 10, 3434, false, "poJyG1OWUXo", "https://www.youtube.com/watch?v=poJyG1OWUXo", "/downloads/shows/Zoe sugg/Season 2025/s2025e121700 - Christmas Garden Center Trip & Sleepover With Mark | Vlogmas Day 16.mp4", false, ~U[2025-12-17 17:00:06Z]] 01:33:50.970 [debug] QUERY OK source="sources" db=0.3ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.972 [debug] QUERY OK source="media_items" db=1.5ms idle=5.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-16 16:59:03Z], 10] 01:33:50.974 [debug] QUERY OK source="media_items" db=1.4ms idle=6.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Baking Green Grinch Waffles & Chocolate Peppermint Cookies | Vlogmas Day 15\n\nAD | Going to therapy is a sign of strength, not weakness. BetterHelp makes therapy simple, with 10% off your first month to help you get started: https://betterhelp.com/zoesugg (Paid Partnership by BetterHelp).\n\nSome links below may be affiliate links – which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Grinch Waffle Maker – https://go.shopmy.us/p-35680242 \n↠ Exagger-Eyes Volume Mascara – Charlotte Tilbury – https://go.shopmy.us/p-35680678 \n↠ Tanya Burr Cookies Recipe – http://instagram.com/p/B_K4TR5BX46/ \n\nW E A R I N G :\n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n⇢ Grinch Christmas Faded Hoodie – Zara – https://bit.ly/4rZuMdA\n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n⇢ Animal Print Trousers – Topshop (OOS) – https://go.shopmy.us/p-29388495 (similar)\n⇢ Fur Lined Leopard Print Clogs – https://amzn.to/481x0lb \n\nK I D S :\n⇢ Mamas & Papas White PJs – Next – https://go.shopmy.us/p-35679873 \n⇢ Grinch PJs – George at ASDA – https://go.shopmy.us/p-33980320 \n⇢ Rex Moon Trousers – Claude & Co – https://go.shopmy.us/p-30350431 \n⇢ Multicolour Jacket – Bobo Choses – https://go.shopmy.us/p-29019923 (similar)\n\nC H E C K O U T: \n↠ Dear Sunday – https://dearsunday.com/ \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Baking Green Grinch Waffles & Chocolate Peppermint Cookies | Vlogmas Day 15", "8512e030-252e-4db4-9270-94f69e5f9f2a", 10, [], 2969, false, "oHmf4GSObJk", "https://www.youtube.com/watch?v=oHmf4GSObJk", 10, "/downloads/shows/Zoe sugg/Season 2025/s2025e121600 - Baking Green Grinch Waffles & Chocolate Peppermint Cookies | Vlogmas Day 15.mp4", false, false, false, 98, ~U[2025-12-16 16:59:03Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "Baking Green Grinch Waffles & Chocolate Peppermint Cookies | Vlogmas Day 15\n\nAD | Going to therapy is a sign of strength, not weakness. BetterHelp makes therapy simple, with 10% off your first month to help you get started: https://betterhelp.com/zoesugg (Paid Partnership by BetterHelp).\n\nSome links below may be affiliate links – which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Grinch Waffle Maker – https://go.shopmy.us/p-35680242 \n↠ Exagger-Eyes Volume Mascara – Charlotte Tilbury – https://go.shopmy.us/p-35680678 \n↠ Tanya Burr Cookies Recipe – http://instagram.com/p/B_K4TR5BX46/ \n\nW E A R I N G :\n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n⇢ Grinch Christmas Faded Hoodie – Zara – https://bit.ly/4rZuMdA\n⇢ Last Christmas Sweatshirt – Zara – https://bit.ly/48UeGcx \n⇢ Cream Fleece Jacket – ASOS – https://go.shopmy.us/p-30350769 (similar)\n⇢ Animal Print Trousers – Topshop (OOS) – https://go.shopmy.us/p-29388495 (similar)\n⇢ Fur Lined Leopard Print Clogs – https://amzn.to/481x0lb \n\nK I D S :\n⇢ Mamas & Papas White PJs – Next – https://go.shopmy.us/p-35679873 \n⇢ Grinch PJs – George at ASDA – https://go.shopmy.us/p-33980320 \n⇢ Rex Moon Trousers – Claude & Co – https://go.shopmy.us/p-30350431 \n⇢ Multicolour Jacket – Bobo Choses – https://go.shopmy.us/p-29019923 (similar)\n\nC H E C K O U T: \n↠ Dear Sunday – https://dearsunday.com/ \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Baking Green Grinch Waffles & Chocolate Peppermint Cookies | Vlogmas Day 15", 10, 2969, false, "oHmf4GSObJk", "https://www.youtube.com/watch?v=oHmf4GSObJk", "/downloads/shows/Zoe sugg/Season 2025/s2025e121600 - Baking Green Grinch Waffles & Chocolate Peppermint Cookies | Vlogmas Day 15.mp4", false, ~U[2025-12-16 16:59:03Z]] 01:33:50.974 [debug] QUERY OK source="sources" db=0.3ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.976 [debug] QUERY OK source="media_items" db=1.5ms idle=5.6ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-15 17:00:03Z], 10] 01:33:50.978 [debug] QUERY OK source="media_items" db=1.2ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Cosy Sunday At Home & Another Visit From The Grinch | Vlogmas Day 14\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Radio Times Christmas Guide – https://bit.ly/3KMazHy \n↠ M&S Gigantic Buttons – https://bit.ly/3Mv65FM\n↠ M&S Gigantic Orange Buttons – https://bit.ly/3L36UVN \n↠ M&S Baked Salted Giant Pretzels – https://bit.ly/44YD8rY \n↠ Bonne Maman Advent Calendar – https://go.shopmy.us/p-34393527 \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n\nK I D S :\n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-35601323 \n⇢ Holly PJs – Organic Zoo – https://go.shopmy.us/p-35601476 (similar)\n\nA L F I E \n⇢ Yellow Corduroy Cap – North Cross – https://go.shopmy.us/p-35602945 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Cosy Sunday At Home & Another Visit From The Grinch | Vlogmas Day 14", "3d7056bb-a413-4e42-af49-5ef6576ffd4f", 10, [], 3665, false, "-iiczB_pG_A", "https://www.youtube.com/watch?v=-iiczB_pG_A", 11, "/downloads/shows/Zoe sugg/Season 2025/s2025e121500 - Cosy Sunday At Home & Another Visit From The Grinch | Vlogmas Day 14.mp4", false, false, false, 98, ~U[2025-12-15 17:00:03Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "Cosy Sunday At Home & Another Visit From The Grinch | Vlogmas Day 14\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Radio Times Christmas Guide – https://bit.ly/3KMazHy \n↠ M&S Gigantic Buttons – https://bit.ly/3Mv65FM\n↠ M&S Gigantic Orange Buttons – https://bit.ly/3L36UVN \n↠ M&S Baked Salted Giant Pretzels – https://bit.ly/44YD8rY \n↠ Bonne Maman Advent Calendar – https://go.shopmy.us/p-34393527 \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n\nK I D S :\n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-35601323 \n⇢ Holly PJs – Organic Zoo – https://go.shopmy.us/p-35601476 (similar)\n\nA L F I E \n⇢ Yellow Corduroy Cap – North Cross – https://go.shopmy.us/p-35602945 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Cosy Sunday At Home & Another Visit From The Grinch | Vlogmas Day 14", 10, 3665, false, "-iiczB_pG_A", "https://www.youtube.com/watch?v=-iiczB_pG_A", "/downloads/shows/Zoe sugg/Season 2025/s2025e121500 - Cosy Sunday At Home & Another Visit From The Grinch | Vlogmas Day 14.mp4", false, ~U[2025-12-15 17:00:03Z]] 01:33:50.979 [debug] QUERY OK source="sources" db=0.3ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.980 [debug] QUERY OK source="media_items" db=1.5ms idle=5.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-14 17:15:34Z], 10] 01:33:50.983 [debug] QUERY OK source="media_items" db=1.3ms idle=6.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Festive Woodland Walk & Evening Drone Show | Vlogmas Day 13\n\n✨ Little reminder that FREE UK Shipping ends tonight* plus, receive your order before Christmas: https://dearsunday.com/ \n\n23:59pm GMT — 14th December 2025.\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Christmas Tree Magic Wand – https://bit.ly/44mFPDy \n↠ Wilderness Wood – https://www.wildernesswood.org/ \n↠ Vlogmas Cap – Dear Sunday – https://bit.ly/4aLAglV \n↠ Christmas Tartan Bedding – Zara Home – https://go.shopmy.us/p-35504985 \n\nW E A R I N G :\n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181\n⇢ Sunglasses – Ace & Tate – Jack (OOS) / Eleanor – https://go.shopmy.us/p-26425554 (similar) \n⇢ Coat - M&S – https://go.shopmy.us/p-26425638 (currently OOS) https://go.shopmy.us/p-26425651 (similar)\n⇢ Triangle Brown Scarf – TBCo – https://go.shopmy.us/p-34129344\n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n\nK I D S :\n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n⇢ Charcoal Midnight Dungarees – Organic Zoo – https://go.shopmy.us/p-34740027 \n⇢ Duck Wellies – Jojo Maman Bebe – https://go.shopmy.us/p-26425775 \n⇢ Leopard Print Trousers – John Lewis – https://go.shopmy.us/p-28255884 \n⇢ Green Barn Jacket – Next – https://go.shopmy.us/p-35504821\n⇢ Oatmeal Wool Jacket – Organic Zoo – https://go.shopmy.us/p-29390086 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Festive Woodland Walk & Evening Drone Show | Vlogmas Day 13", "04ffaf6a-10c4-49f9-bc8b-367d8f556a46", 10, [], 1757, false, "nQSRnsoalcY", "https://www.youtube.com/watch?v=nQSRnsoalcY", 12, "/downloads/shows/Zoe sugg/Season 2025/s2025e121400 - Festive Woodland Walk & Evening Drone Show | Vlogmas Day 13.mp4", false, false, false, 98, ~U[2025-12-14 17:15:34Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "Festive Woodland Walk & Evening Drone Show | Vlogmas Day 13\n\n✨ Little reminder that FREE UK Shipping ends tonight* plus, receive your order before Christmas: https://dearsunday.com/ \n\n23:59pm GMT — 14th December 2025.\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Christmas Tree Magic Wand – https://bit.ly/44mFPDy \n↠ Wilderness Wood – https://www.wildernesswood.org/ \n↠ Vlogmas Cap – Dear Sunday – https://bit.ly/4aLAglV \n↠ Christmas Tartan Bedding – Zara Home – https://go.shopmy.us/p-35504985 \n\nW E A R I N G :\n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181\n⇢ Sunglasses – Ace & Tate – Jack (OOS) / Eleanor – https://go.shopmy.us/p-26425554 (similar) \n⇢ Coat - M&S – https://go.shopmy.us/p-26425638 (currently OOS) https://go.shopmy.us/p-26425651 (similar)\n⇢ Triangle Brown Scarf – TBCo – https://go.shopmy.us/p-34129344\n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n\nK I D S :\n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n⇢ Charcoal Midnight Dungarees – Organic Zoo – https://go.shopmy.us/p-34740027 \n⇢ Duck Wellies – Jojo Maman Bebe – https://go.shopmy.us/p-26425775 \n⇢ Leopard Print Trousers – John Lewis – https://go.shopmy.us/p-28255884 \n⇢ Green Barn Jacket – Next – https://go.shopmy.us/p-35504821\n⇢ Oatmeal Wool Jacket – Organic Zoo – https://go.shopmy.us/p-29390086 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Festive Woodland Walk & Evening Drone Show | Vlogmas Day 13", 10, 1757, false, "nQSRnsoalcY", "https://www.youtube.com/watch?v=nQSRnsoalcY", "/downloads/shows/Zoe sugg/Season 2025/s2025e121400 - Festive Woodland Walk & Evening Drone Show | Vlogmas Day 13.mp4", false, ~U[2025-12-14 17:15:34Z]] 01:33:50.983 [debug] QUERY OK source="sources" db=0.3ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.985 [debug] QUERY OK source="media_items" db=1.5ms idle=5.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-13 17:00:34Z], 10] 01:33:50.987 [debug] QUERY OK source="media_items" db=1.3ms idle=6.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["A Magical Day At Lapland With Family & Friends | Vlogmas Day 12\n\n🎁🎄 Last chance for UK delivery in time for Christmas! Get FREE UK Shipping this weekend: https://dearsunday.com/ \n\nEnds 23:59pm GMT — 14th December 2025.\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Lapland UK – https://portal.laplanduk.co.uk\n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n↠ Skin + Me – https://www.skinandme.com/ \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Green Knit Jumper – Topshop – https://go.shopmy.us/p-26422964 \n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181 \n\nK I D S :\n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Grinch PJs – George at ASDA – https://go.shopmy.us/p-33980320 \n⇢ Skunk / Rabbit Hoodie (Deer OOS) – Oeuf – https://go.shopmy.us/p-26425794 / https://go.shopmy.us/p-26425803\n⇢ Star Bomber Jacket – Konges Sloejd – https://go.shopmy.us/p-34870950 \n⇢ Scallop Yoke Jumper – Misha & Puff (old) – https://go.shopmy.us/p-35423913 (similar)\n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "A Magical Day At Lapland With Family & Friends | Vlogmas Day 12", "ab4583d7-faf9-4486-91e3-f1750225e0ff", 10, [], 2314, false, "gtAabDhfdWo", "https://www.youtube.com/watch?v=gtAabDhfdWo", 13, "/downloads/shows/Zoe sugg/Season 2025/s2025e121300 - A Magical Day At Lapland With Family & Friends | Vlogmas Day 12.mp4", false, false, false, 98, ~U[2025-12-13 17:00:34Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "A Magical Day At Lapland With Family & Friends | Vlogmas Day 12\n\n🎁🎄 Last chance for UK delivery in time for Christmas! Get FREE UK Shipping this weekend: https://dearsunday.com/ \n\nEnds 23:59pm GMT — 14th December 2025.\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Lapland UK – https://portal.laplanduk.co.uk\n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n↠ Skin + Me – https://www.skinandme.com/ \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Green Knit Jumper – Topshop – https://go.shopmy.us/p-26422964 \n⇢ Christmas T-Shirt – The OS Creative – https://go.shopmy.us/p-35426181 \n\nK I D S :\n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Grinch PJs – George at ASDA – https://go.shopmy.us/p-33980320 \n⇢ Skunk / Rabbit Hoodie (Deer OOS) – Oeuf – https://go.shopmy.us/p-26425794 / https://go.shopmy.us/p-26425803\n⇢ Star Bomber Jacket – Konges Sloejd – https://go.shopmy.us/p-34870950 \n⇢ Scallop Yoke Jumper – Misha & Puff (old) – https://go.shopmy.us/p-35423913 (similar)\n⇢ Jolly Santa PJs – Chelsea Peers – https://go.shopmy.us/p-34133492 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "A Magical Day At Lapland With Family & Friends | Vlogmas Day 12", 10, 2314, false, "gtAabDhfdWo", "https://www.youtube.com/watch?v=gtAabDhfdWo", "/downloads/shows/Zoe sugg/Season 2025/s2025e121300 - A Magical Day At Lapland With Family & Friends | Vlogmas Day 12.mp4", false, ~U[2025-12-13 17:00:34Z]] 01:33:50.988 [debug] QUERY OK source="sources" db=0.3ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.989 [debug] QUERY OK source="media_items" db=1.5ms idle=5.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-12 17:00:03Z], 10] 01:33:50.992 [debug] QUERY OK source="media_items" db=1.5ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["An Early Christmas With The Family & Old Home Videos | Vlogmas Day 11\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ M&S Food – https://bit.ly/4pS0Ezz \n↠ Embroidered Christmas Napkins – https://go.shopmy.us/p-35289912 \n↠ Winter Berry Garland – https://go.shopmy.us/p-35289980 (similar)\n↠ Minced Pie Candle Holder – https://go.shopmy.us/p-35290007 (OOS)\n↠ Red Bow Candle Holder – https://go.shopmy.us/p-35290016 \n↠ Red Gingham Table Cloth Cover – https://go.shopmy.us/p-35290053 \n↠ Ivory Candles – https://go.shopmy.us/p-35290045 \n↠ Speckled Stoneware Jug – https://go.shopmy.us/p-35290064 (OOS)\n↠ M&S x Kelly Hoppen Christmas Crackers – https://go.shopmy.us/p-35290080 \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Dear Sunday Hoodie in Ecru – https://bit.ly/4p1odEQ \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Black Trench Coat – ASOS – https://go.shopmy.us/p-35290133 (similar)\n⇢ White Jumper – ASOS – https://go.shopmy.us/p-35290157 (similar)\n⇢ Red Silk Skirt – ASOS – https://go.shopmy.us/p-35290169 \n\nK I D S :\n⇢ Ottie’s Grinch PJs – George at ASDA – https://go.shopmy.us/p-35289826 \n⇢ Novie’s Grinch PJs – George at ASDA – https://go.shopmy.us/p-33980320 \n⇢ Yvonne Christmas Dress – Konges Sloejd – https://go.shopmy.us/p-35290218 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "An Early Christmas With The Family & Old Home Videos | Vlogmas Day 11", "c17cc1d4-e606-4c6c-a88b-e9180bb927e9", 10, [], 3351, false, "KFIT8T04oXQ", "https://www.youtube.com/watch?v=KFIT8T04oXQ", 14, "/downloads/shows/Zoe sugg/Season 2025/s2025e121200 - An Early Christmas With The Family & Old Home Videos | Vlogmas Day 11.mp4", false, false, false, 98, ~U[2025-12-12 17:00:03Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "An Early Christmas With The Family & Old Home Videos | Vlogmas Day 11\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ M&S Food – https://bit.ly/4pS0Ezz \n↠ Embroidered Christmas Napkins – https://go.shopmy.us/p-35289912 \n↠ Winter Berry Garland – https://go.shopmy.us/p-35289980 (similar)\n↠ Minced Pie Candle Holder – https://go.shopmy.us/p-35290007 (OOS)\n↠ Red Bow Candle Holder – https://go.shopmy.us/p-35290016 \n↠ Red Gingham Table Cloth Cover – https://go.shopmy.us/p-35290053 \n↠ Ivory Candles – https://go.shopmy.us/p-35290045 \n↠ Speckled Stoneware Jug – https://go.shopmy.us/p-35290064 (OOS)\n↠ M&S x Kelly Hoppen Christmas Crackers – https://go.shopmy.us/p-35290080 \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Dear Sunday Hoodie in Ecru – https://bit.ly/4p1odEQ \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Black Trench Coat – ASOS – https://go.shopmy.us/p-35290133 (similar)\n⇢ White Jumper – ASOS – https://go.shopmy.us/p-35290157 (similar)\n⇢ Red Silk Skirt – ASOS – https://go.shopmy.us/p-35290169 \n\nK I D S :\n⇢ Ottie’s Grinch PJs – George at ASDA – https://go.shopmy.us/p-35289826 \n⇢ Novie’s Grinch PJs – George at ASDA – https://go.shopmy.us/p-33980320 \n⇢ Yvonne Christmas Dress – Konges Sloejd – https://go.shopmy.us/p-35290218 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "An Early Christmas With The Family & Old Home Videos | Vlogmas Day 11", 10, 3351, false, "KFIT8T04oXQ", "https://www.youtube.com/watch?v=KFIT8T04oXQ", "/downloads/shows/Zoe sugg/Season 2025/s2025e121200 - An Early Christmas With The Family & Old Home Videos | Vlogmas Day 11.mp4", false, ~U[2025-12-12 17:00:03Z]] 01:33:50.992 [debug] QUERY OK source="sources" db=0.3ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:50.994 [debug] QUERY OK source="media_items" db=1.5ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-11 17:00:02Z], 10] 01:33:50.996 [debug] QUERY OK source="media_items" db=1.4ms idle=7.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Father Christmas Visits, Magic Tree & Gift Giving Ideas | Vlogmas Day 10\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links – which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Mini microphone - https://bit.ly/4oJOzuD\n↠ Christmas tree magic wand - https://bit.ly/44mFPDy \n↠ Ramshackle flowers tree ornaments - https://ramshackleflowers.com/ \n↠ Ratan Children’s basket https://go.shopmy.us/p-35160200 \n↠ Marigold and Lettuce - https://www.marigoldandlettice.co.uk/ \n↠ Ketchup on your reindeer book - https://bit.ly/4oODnNs\n\nS P A C E N K\n⇢ Penhaligon fragrance - https://go.shopmy.us/p-35160262 \n⇢ Caudalie beauty elixir - https://go.shopmy.us/p-35160273 \n⇢ Salt and Stone body wash - https://go.shopmy.us/p-35160281 \n⇢ HourGlass glossy balm - https://go.shopmy.us/p-35160295 \n⇢ Glossier hand cream - https://go.shopmy.us/p-35160303 \n⇢ Laura Mercier honey bath - https://go.shopmy.us/p-35160347 \n⇢ Glossier cookie butter balm - https://go.shopmy.us/p-35160403 \n⇢ Neom Xmas candle - https://go.shopmy.us/p-35160425 \n⇢ Uni body serum - https://go.shopmy.us/p-35160435 \n⇢ Medik8 - https://go.shopmy.us/p-35160448 \n⇢ Sunday Riley pink drink - https://go.shopmy.us/p-35160455 \n⇢ Shiseido vital perfection night concentrate - https://go.shopmy.us/p-35160464 \n⇢ Oskia Deeper Sleep - https://go.shopmy.us/p-35160489\n⇢ Living Proof dry shampoo - https://go.shopmy.us/p-35160501 \n\nW E A R I N G \n⇢ Christmas PJs - https://go.shopmy.us/p-34249564 \n⇢ Red Christmas cardigan - Lazy Oaf - https://go.shopmy.us/p-35161507\n⇢ Rings - https://carrieelizabeth.co.uk/collections/icons \n\nK I D S \n⇢ Christmas PJs - https://go.shopmy.us/p-34249573 \n⇢ Christmas cardigans - Little Worne Store - https://go.shopmy.us/p-34403044 (similar)\n\nC H E C K O U T: \n⇢ *My Amazon Storefront - https://bit.ly/3K2HFQE\n⇢ *Shop My Wardrobe - https://shopmy.us/zoesugg", "Father Christmas Visits, Magic Tree & Gift Giving Ideas | Vlogmas Day 10", "737b2071-8772-49d4-90d7-d5cac067f071", 10, [], 4032, false, "G74PbPg04jE", "https://www.youtube.com/watch?v=G74PbPg04jE", 15, "/downloads/shows/Zoe sugg/Season 2025/s2025e121100 - Father Christmas Visits, Magic Tree & Gift Giving Ideas | Vlogmas Day 10.mp4", false, false, false, 98, ~U[2025-12-11 17:00:02Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "Father Christmas Visits, Magic Tree & Gift Giving Ideas | Vlogmas Day 10\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links – which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Mini microphone - https://bit.ly/4oJOzuD\n↠ Christmas tree magic wand - https://bit.ly/44mFPDy \n↠ Ramshackle flowers tree ornaments - https://ramshackleflowers.com/ \n↠ Ratan Children’s basket https://go.shopmy.us/p-35160200 \n↠ Marigold and Lettuce - https://www.marigoldandlettice.co.uk/ \n↠ Ketchup on your reindeer book - https://bit.ly/4oODnNs\n\nS P A C E N K\n⇢ Penhaligon fragrance - https://go.shopmy.us/p-35160262 \n⇢ Caudalie beauty elixir - https://go.shopmy.us/p-35160273 \n⇢ Salt and Stone body wash - https://go.shopmy.us/p-35160281 \n⇢ HourGlass glossy balm - https://go.shopmy.us/p-35160295 \n⇢ Glossier hand cream - https://go.shopmy.us/p-35160303 \n⇢ Laura Mercier honey bath - https://go.shopmy.us/p-35160347 \n⇢ Glossier cookie butter balm - https://go.shopmy.us/p-35160403 \n⇢ Neom Xmas candle - https://go.shopmy.us/p-35160425 \n⇢ Uni body serum - https://go.shopmy.us/p-35160435 \n⇢ Medik8 - https://go.shopmy.us/p-35160448 \n⇢ Sunday Riley pink drink - https://go.shopmy.us/p-35160455 \n⇢ Shiseido vital perfection night concentrate - https://go.shopmy.us/p-35160464 \n⇢ Oskia Deeper Sleep - https://go.shopmy.us/p-35160489\n⇢ Living Proof dry shampoo - https://go.shopmy.us/p-35160501 \n\nW E A R I N G \n⇢ Christmas PJs - https://go.shopmy.us/p-34249564 \n⇢ Red Christmas cardigan - Lazy Oaf - https://go.shopmy.us/p-35161507\n⇢ Rings - https://carrieelizabeth.co.uk/collections/icons \n\nK I D S \n⇢ Christmas PJs - https://go.shopmy.us/p-34249573 \n⇢ Christmas cardigans - Little Worne Store - https://go.shopmy.us/p-34403044 (similar)\n\nC H E C K O U T: \n⇢ *My Amazon Storefront - https://bit.ly/3K2HFQE\n⇢ *Shop My Wardrobe - https://shopmy.us/zoesugg", "Father Christmas Visits, Magic Tree & Gift Giving Ideas | Vlogmas Day 10", 10, 4032, false, "G74PbPg04jE", "https://www.youtube.com/watch?v=G74PbPg04jE", "/downloads/shows/Zoe sugg/Season 2025/s2025e121100 - Father Christmas Visits, Magic Tree & Gift Giving Ideas | Vlogmas Day 10.mp4", false, ~U[2025-12-11 17:00:02Z]] 01:33:50.997 [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" = ?) [10] 01:33:50.999 [debug] QUERY OK source="media_items" db=1.4ms idle=5.7ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-10 16:59:06Z], 10] 01:33:51.002 [debug] QUERY OK source="media_items" db=1.8ms idle=6.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["We Finally Decorated The Tree & Our Favourite Board Games | Vlogmas Day 9\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Neutonic Productivity Drink – https://go.shopmy.us/p-35023839 \n↠ Vlogmas Intro Animation by Rosie Miles – https://bit.ly/4f3p8iJ\n↠ Vlogmas Intro Illustration by Jess Mason – https://bit.ly/3ZeDQxM \n\nM A K E U P :\n⇢ PRO FILT’R Soft Matte Longwear Foundation – Fenty Beauty – https://go.shopmy.us/p-35020233 \n⇢ Lasting Perfection Ultra Cover Concealer – Collection Cosmetics – https://go.shopmy.us/p-25369568\n⇢ Unreal Lips Healthy Glow Nectar Oil – Charlotte Tilbury – https://go.shopmy.us/p-35020526 \n⇢ Kush Brow Lamination Gel – Milk Makeup – https://go.shopmy.us/p-35020934 \n⇢ Dipbrow Pomade – Anastasia Beverly Hills – https://go.shopmy.us/p-35020999 \n⇢ Unlocked Instant Extensions Mascara – Hourglass – https://go.shopmy.us/p-35021084\n⇢ MAC Connect In Colour X6 Eye Shadow Palette – MAC – https://go.shopmy.us/p-35020894 \n⇢ Terracotta The Bronzing Powder 03 – GUERLAIN – https://go.shopmy.us/p-35021221 \n⇢ Natasha Denona HY-Blush – Natasha Denona – https://go.shopmy.us/p-35021356 (similar)\n⇢ MAC Mineralize Skinfinish Highlighter Soft and Gentle – MAC – https://go.shopmy.us/p-35021508 \n⇢ Lip Cheat Contour DUO Tan/Medium – Charlotte Tilbury – https://go.shopmy.us/p-35021618 \n⇢ Lipstick Bamboo – Chantecaille – https://go.shopmy.us/p-33978426 \n\nB O A R D G A M E S :\n↠ Qwirkle Cubes – https://amzn.to/4s4ckAG \n↠ Handspeed Challenge – https://go.shopmy.us/p-35021940 \n↠ Backgammon Travel Set – https://go.shopmy.us/p-35022293 \n↠ Incoheaerent – https://amzn.to/4pSXfzK \n↠ Ransom Notes – https://amzn.to/4pAyh8I \n↠ Monopoly Cheaters Edition – https://amzn.to/4oPWgQf (OOS)\n↠ Shut The Box – https://amzn.to/3XQ0En8 \n↠ Pucket – https://amzn.to/44fpAIs \n↠ Think Words – https://amzn.to/4j8IV4l \n↠ Blokus – https://amzn.to/4aIRpN9 \n↠ Triominos – https://amzn.to/4pvtKEF \n↠ Cluedo – https://amzn.to/48w3xjh \n↠ Abalone – https://amzn.to/48MJ6xc \n↠ You’ve Got Crabs – https://amzn.to/4oOYkb7\n\nW E A R I N G :\n⇢ Grey Knitted Frill Cardigan – ASOS – https://go.shopmy.us/p-35019218\n⇢ Animal Print Trousers – Topshop (OOS) – https://go.shopmy.us/p-29388495 (similar)\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n\nK I D S :\n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Olive Gingham Trousers – Organic Zoo – https://go.shopmy.us/p-16619307 \n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249573 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "We Finally Decorated The Tree & Our Favourite Board Games | Vlogmas Day 9", "d8101444-f72e-4317-bb69-786505812723", 10, [], 2631, false, "5KD5VMg9lPw", "https://www.youtube.com/watch?v=5KD5VMg9lPw", 16, "/downloads/shows/Zoe sugg/Season 2025/s2025e121000 - We Finally Decorated The Tree & Our Favourite Board Games | Vlogmas Day 9.mp4", false, false, false, 98, ~U[2025-12-10 16:59:06Z], ~U[2026-04-16 23:33:50Z], ~U[2026-04-16 23:33:50Z], "We Finally Decorated The Tree & Our Favourite Board Games | Vlogmas Day 9\n\nhttps://dearsunday.com/ \n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Neutonic Productivity Drink – https://go.shopmy.us/p-35023839 \n↠ Vlogmas Intro Animation by Rosie Miles – https://bit.ly/4f3p8iJ\n↠ Vlogmas Intro Illustration by Jess Mason – https://bit.ly/3ZeDQxM \n\nM A K E U P :\n⇢ PRO FILT’R Soft Matte Longwear Foundation – Fenty Beauty – https://go.shopmy.us/p-35020233 \n⇢ Lasting Perfection Ultra Cover Concealer – Collection Cosmetics – https://go.shopmy.us/p-25369568\n⇢ Unreal Lips Healthy Glow Nectar Oil – Charlotte Tilbury – https://go.shopmy.us/p-35020526 \n⇢ Kush Brow Lamination Gel – Milk Makeup – https://go.shopmy.us/p-35020934 \n⇢ Dipbrow Pomade – Anastasia Beverly Hills – https://go.shopmy.us/p-35020999 \n⇢ Unlocked Instant Extensions Mascara – Hourglass – https://go.shopmy.us/p-35021084\n⇢ MAC Connect In Colour X6 Eye Shadow Palette – MAC – https://go.shopmy.us/p-35020894 \n⇢ Terracotta The Bronzing Powder 03 – GUERLAIN – https://go.shopmy.us/p-35021221 \n⇢ Natasha Denona HY-Blush – Natasha Denona – https://go.shopmy.us/p-35021356 (similar)\n⇢ MAC Mineralize Skinfinish Highlighter Soft and Gentle – MAC – https://go.shopmy.us/p-35021508 \n⇢ Lip Cheat Contour DUO Tan/Medium – Charlotte Tilbury – https://go.shopmy.us/p-35021618 \n⇢ Lipstick Bamboo – Chantecaille – https://go.shopmy.us/p-33978426 \n\nB O A R D G A M E S :\n↠ Qwirkle Cubes – https://amzn.to/4s4ckAG \n↠ Handspeed Challenge – https://go.shopmy.us/p-35021940 \n↠ Backgammon Travel Set – https://go.shopmy.us/p-35022293 \n↠ Incoheaerent – https://amzn.to/4pSXfzK \n↠ Ransom Notes – https://amzn.to/4pAyh8I \n↠ Monopoly Cheaters Edition – https://amzn.to/4oPWgQf (OOS)\n↠ Shut The Box – https://amzn.to/3XQ0En8 \n↠ Pucket – https://amzn.to/44fpAIs \n↠ Think Words – https://amzn.to/4j8IV4l \n↠ Blokus – https://amzn.to/4aIRpN9 \n↠ Triominos – https://amzn.to/4pvtKEF \n↠ Cluedo – https://amzn.to/48w3xjh \n↠ Abalone – https://amzn.to/48MJ6xc \n↠ You’ve Got Crabs – https://amzn.to/4oOYkb7\n\nW E A R I N G :\n⇢ Grey Knitted Frill Cardigan – ASOS – https://go.shopmy.us/p-35019218\n⇢ Animal Print Trousers – Topshop (OOS) – https://go.shopmy.us/p-29388495 (similar)\n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n\nK I D S :\n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Olive Gingham Trousers – Organic Zoo – https://go.shopmy.us/p-16619307 \n⇢ Kids Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249573 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "We Finally Decorated The Tree & Our Favourite Board Games | Vlogmas Day 9", 10, 2631, false, "5KD5VMg9lPw", "https://www.youtube.com/watch?v=5KD5VMg9lPw", "/downloads/shows/Zoe sugg/Season 2025/s2025e121000 - We Finally Decorated The Tree & Our Favourite Board Games | Vlogmas Day 9.mp4", false, ~U[2025-12-10 16:59:06Z]] 01:33:51.002 [debug] QUERY OK source="sources" db=0.3ms idle=7.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:51.004 [debug] QUERY OK source="media_items" db=1.5ms idle=6.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-09 17:00:00Z], 10] 01:33:51.006 [debug] QUERY OK source="media_items" db=1.4ms idle=7.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Happy Tears, Christmas LUSH Haul & Does The Tree Fit? | Vlogmas Day 8\n\nAD | Discover Lush’s Christmas gifts – fresh, festive, and handmade. Perfect for treating yourself or someone special this season. 🎄✨\n\nShop and explore the full Christmas range here: https://friends.lush.com/s/zoesugg \n\n*Free Yog Nog Shower Gel (115g Snow Fairy Shower Gel now out of stock) for customers residing in UK Only, 18+, when making a purchase through the following affiliate link with minimum spend of £15, valid from 5th December until 20th December 2025. \n\nTerms and conditions apply here: https://bit.ly/3Y2I8rJ\n\nSome links below may be affiliate links – which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Bayon Bakery – https://www.bayonbakery.co.uk/ \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n⇢ Oversized White Sweatshirt – ASOS – https://go.shopmy.us/p-29019412 \n⇢ Green Corduroy Trousers – ASOS – https://go.shopmy.us/p-34871031 \n⇢ Grey Beanie (OOS) – Ganni – https://go.shopmy.us/p-34871119 (similar)\n⇢ Off White Trainers – New Balance – https://go.shopmy.us/p-34871177 \n⇢ Sweatshirt in Ecru – Dear Sunday – https://bit.ly/4ar7fMd \n\nK I D S :\n⇢ Blue & Orange Sleepsuit – Next – https://go.shopmy.us/p-34870858\n⇢ Santa PJs (old) – Chelsea Peers – https://go.shopmy.us/p-34392963 (similar)\n⇢ Star Bomber Jacket – Konges Sloejd – https://go.shopmy.us/p-34870950 \n⇢ Green Corduroy Trousers – Next – https://go.shopmy.us/p-26426170\n⇢ Christmas Jumper (old) – Little Worne Store – https://go.shopmy.us/p-34403044 (similar)\n⇢ Toddler Sambas – Adidas – https://go.shopmy.us/p-29019572 \n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n\nC H E C K O U T: \n↠ Dear Sunday — https://dearsunday.com/ \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Happy Tears, Christmas LUSH Haul & Does The Tree Fit? | Vlogmas Day 8", "9f7fd531-2ed7-4002-ae98-b5e6150551e3", 10, [], 3736, false, "BO7vgfMWf8k", "https://www.youtube.com/watch?v=BO7vgfMWf8k", 17, "/downloads/shows/Zoe sugg/Season 2025/s2025e120900 - Happy Tears, Christmas LUSH Haul & Does The Tree Fit? | Vlogmas Day 8.mp4", false, false, false, 98, ~U[2025-12-09 17:00:00Z], ~U[2026-04-16 23:33:51Z], ~U[2026-04-16 23:33:51Z], "Happy Tears, Christmas LUSH Haul & Does The Tree Fit? | Vlogmas Day 8\n\nAD | Discover Lush’s Christmas gifts – fresh, festive, and handmade. Perfect for treating yourself or someone special this season. 🎄✨\n\nShop and explore the full Christmas range here: https://friends.lush.com/s/zoesugg \n\n*Free Yog Nog Shower Gel (115g Snow Fairy Shower Gel now out of stock) for customers residing in UK Only, 18+, when making a purchase through the following affiliate link with minimum spend of £15, valid from 5th December until 20th December 2025. \n\nTerms and conditions apply here: https://bit.ly/3Y2I8rJ\n\nSome links below may be affiliate links – which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Bayon Bakery – https://www.bayonbakery.co.uk/ \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n⇢ Oversized White Sweatshirt – ASOS – https://go.shopmy.us/p-29019412 \n⇢ Green Corduroy Trousers – ASOS – https://go.shopmy.us/p-34871031 \n⇢ Grey Beanie (OOS) – Ganni – https://go.shopmy.us/p-34871119 (similar)\n⇢ Off White Trainers – New Balance – https://go.shopmy.us/p-34871177 \n⇢ Sweatshirt in Ecru – Dear Sunday – https://bit.ly/4ar7fMd \n\nK I D S :\n⇢ Blue & Orange Sleepsuit – Next – https://go.shopmy.us/p-34870858\n⇢ Santa PJs (old) – Chelsea Peers – https://go.shopmy.us/p-34392963 (similar)\n⇢ Star Bomber Jacket – Konges Sloejd – https://go.shopmy.us/p-34870950 \n⇢ Green Corduroy Trousers – Next – https://go.shopmy.us/p-26426170\n⇢ Christmas Jumper (old) – Little Worne Store – https://go.shopmy.us/p-34403044 (similar)\n⇢ Toddler Sambas – Adidas – https://go.shopmy.us/p-29019572 \n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n\nC H E C K O U T: \n↠ Dear Sunday — https://dearsunday.com/ \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Happy Tears, Christmas LUSH Haul & Does The Tree Fit? | Vlogmas Day 8", 10, 3736, false, "BO7vgfMWf8k", "https://www.youtube.com/watch?v=BO7vgfMWf8k", "/downloads/shows/Zoe sugg/Season 2025/s2025e120900 - Happy Tears, Christmas LUSH Haul & Does The Tree Fit? | Vlogmas Day 8.mp4", false, ~U[2025-12-09 17:00:00Z]] 01:33:51.007 [debug] QUERY OK source="sources" db=0.3ms idle=7.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:51.009 [debug] QUERY OK source="media_items" db=1.4ms idle=5.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-08 17:01:15Z], 10] 01:33:51.014 [debug] QUERY OK source="media_items" db=5.0ms idle=6.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Picking Our Christmas Trees & Getting Very Wet & Muddy | Vlogmas Day 7\n\n✨ Get a FREE Vlogmas cap with any order over £60 for the next 24 hours: https://dearsunday.com/\n\nDiscount automatically applied at checkout when you add the Vlogmas cap to your basket.\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Build-A-Bear – https://www.buildabear.co.uk/ \n↠ Goddenwick Farm – https://goddenwickfarm.co.uk/ \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Oversized White Sweatshirt – ASOS – https://go.shopmy.us/p-29019412 \n⇢ Suede Bomber Brown Jacket – Zara – https://bit.ly/44UkEZz\n⇢ Green Parka – Sea Salt Cornwall – https://go.shopmy.us/p-34403431 \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Cable Knit White Jumper – ASOS – https://go.shopmy.us/p-34739815 \n⇢ Croissants PJ Bottoms – The Night Store – https://go.shopmy.us/p-28821256 \n⇢ Hoodie in Fern – Dear Sunday – https://bit.ly/4rH7x7W \n\nK I D S :\n⇢ Scarecrow’s Wedding PJs – Asda – https://go.shopmy.us/p-34132906 \n⇢ Blue Hooded Puffer Coat – M&S – https://go.shopmy.us/p-34738074 \n⇢ Duck Wellies – JoJo Maman Bebe – https://go.shopmy.us/p-26425775\n⇢ Ladybird Wellies – Next – https://go.shopmy.us/p-26425857 \n⇢ Striped Long Sleeve – Claude & Co – https://go.shopmy.us/p-28255970 \n⇢ Rex Moon Trousers – Claude & Co – https://go.shopmy.us/p-30350431 \n⇢ Charcoal Midnight Dungarees – Organic Zoo – https://go.shopmy.us/p-34740027 \n\nA L F I E :\n⇢ Sweatshirt in Ecru – Dear Sunday – https://bit.ly/4ar7fMd \n⇢ Vlogmas Cap – Dear Sunday – https://bit.ly/48KQxVH \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Picking Our Christmas Trees & Getting Very Wet & Muddy | Vlogmas Day 7", "559e728b-4cd7-431d-be3f-cbd2fd9e8d10", 10, [], 2440, false, "Z5okqxXqREk", "https://www.youtube.com/watch?v=Z5okqxXqREk", 18, "/downloads/shows/Zoe sugg/Season 2025/s2025e120800 - Picking Our Christmas Trees & Getting Very Wet & Muddy | Vlogmas Day 7.mp4", false, false, false, 98, ~U[2025-12-08 17:01:15Z], ~U[2026-04-16 23:33:51Z], ~U[2026-04-16 23:33:51Z], "Picking Our Christmas Trees & Getting Very Wet & Muddy | Vlogmas Day 7\n\n✨ Get a FREE Vlogmas cap with any order over £60 for the next 24 hours: https://dearsunday.com/\n\nDiscount automatically applied at checkout when you add the Vlogmas cap to your basket.\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Build-A-Bear – https://www.buildabear.co.uk/ \n↠ Goddenwick Farm – https://goddenwickfarm.co.uk/ \n↠ Lush Advent Calendar – https://go.shopmy.us/p-33976993 \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Oversized White Sweatshirt – ASOS – https://go.shopmy.us/p-29019412 \n⇢ Suede Bomber Brown Jacket – Zara – https://bit.ly/44UkEZz\n⇢ Green Parka – Sea Salt Cornwall – https://go.shopmy.us/p-34403431 \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Cable Knit White Jumper – ASOS – https://go.shopmy.us/p-34739815 \n⇢ Croissants PJ Bottoms – The Night Store – https://go.shopmy.us/p-28821256 \n⇢ Hoodie in Fern – Dear Sunday – https://bit.ly/4rH7x7W \n\nK I D S :\n⇢ Scarecrow’s Wedding PJs – Asda – https://go.shopmy.us/p-34132906 \n⇢ Blue Hooded Puffer Coat – M&S – https://go.shopmy.us/p-34738074 \n⇢ Duck Wellies – JoJo Maman Bebe – https://go.shopmy.us/p-26425775\n⇢ Ladybird Wellies – Next – https://go.shopmy.us/p-26425857 \n⇢ Striped Long Sleeve – Claude & Co – https://go.shopmy.us/p-28255970 \n⇢ Rex Moon Trousers – Claude & Co – https://go.shopmy.us/p-30350431 \n⇢ Charcoal Midnight Dungarees – Organic Zoo – https://go.shopmy.us/p-34740027 \n\nA L F I E :\n⇢ Sweatshirt in Ecru – Dear Sunday – https://bit.ly/4ar7fMd \n⇢ Vlogmas Cap – Dear Sunday – https://bit.ly/48KQxVH \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Picking Our Christmas Trees & Getting Very Wet & Muddy | Vlogmas Day 7", 10, 2440, false, "Z5okqxXqREk", "https://www.youtube.com/watch?v=Z5okqxXqREk", "/downloads/shows/Zoe sugg/Season 2025/s2025e120800 - Picking Our Christmas Trees & Getting Very Wet & Muddy | Vlogmas Day 7.mp4", false, ~U[2025-12-08 17:01:15Z]] 01:33:51.015 [debug] QUERY OK source="sources" db=0.3ms idle=10.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:51.017 [debug] QUERY OK source="media_items" db=1.5ms idle=9.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-07 17:00:29Z], 10] 01:33:51.019 [debug] QUERY OK source="media_items" db=1.2ms idle=10.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Novie's 2nd Birthday & Surprise Guest 'Question Of The Day' | Vlogmas Day 6\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Tidlo The Oldfield Farm – https://go.shopmy.us/p-34503631 \n↠ Maggie Glove Puppet – https://go.shopmy.us/p-34503609 \n↠ Steve & Maggie: Halloween Soundbook – https://amzn.to/4oCIVdS \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Suede Bomber Brown Jacket – Zara – https://bit.ly/44UkEZz\n⇢ Denim Dungarees – ASOS – https://go.shopmy.us/p-34603120 (similar)\n\nK I D S :\n⇢ Santa PJs (old) – Chelsea Peers – https://go.shopmy.us/p-34392963 (similar)\n⇢ Blue Knitted Cardigan – Mori – https://go.shopmy.us/p-34603178 (similar)\n⇢ Dancer’s Ballet Dress – Konges Sloejd – https://go.shopmy.us/p-34602714 \n⇢ Custom Duck Cardigan – Daisy and River – https://go.shopmy.us/p-34602927 (similar)\n⇢ Scarecrow’s Wedding PJs – Asda – https://go.shopmy.us/p-34132906 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Novie's 2nd Birthday & Surprise Guest 'Question Of The Day' | Vlogmas Day 6", "7bd8eaa7-6f8d-4bfd-8e18-28577bcf6b0c", 10, [], 1584, false, "wVi9GrWkqO4", "https://www.youtube.com/watch?v=wVi9GrWkqO4", 19, "/downloads/shows/Zoe sugg/Season 2025/s2025e120700 - Novie's 2nd Birthday & Surprise Guest 'Question Of The Day' | Vlogmas Day 6.mp4", false, false, false, 98, ~U[2025-12-07 17:00:29Z], ~U[2026-04-16 23:33:51Z], ~U[2026-04-16 23:33:51Z], "Novie's 2nd Birthday & Surprise Guest 'Question Of The Day' | Vlogmas Day 6\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Tidlo The Oldfield Farm – https://go.shopmy.us/p-34503631 \n↠ Maggie Glove Puppet – https://go.shopmy.us/p-34503609 \n↠ Steve & Maggie: Halloween Soundbook – https://amzn.to/4oCIVdS \n\nW E A R I N G :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34249354 \n⇢ Suede Bomber Brown Jacket – Zara – https://bit.ly/44UkEZz\n⇢ Denim Dungarees – ASOS – https://go.shopmy.us/p-34603120 (similar)\n\nK I D S :\n⇢ Santa PJs (old) – Chelsea Peers – https://go.shopmy.us/p-34392963 (similar)\n⇢ Blue Knitted Cardigan – Mori – https://go.shopmy.us/p-34603178 (similar)\n⇢ Dancer’s Ballet Dress – Konges Sloejd – https://go.shopmy.us/p-34602714 \n⇢ Custom Duck Cardigan – Daisy and River – https://go.shopmy.us/p-34602927 (similar)\n⇢ Scarecrow’s Wedding PJs – Asda – https://go.shopmy.us/p-34132906 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Novie's 2nd Birthday & Surprise Guest 'Question Of The Day' | Vlogmas Day 6", 10, 1584, false, "wVi9GrWkqO4", "https://www.youtube.com/watch?v=wVi9GrWkqO4", "/downloads/shows/Zoe sugg/Season 2025/s2025e120700 - Novie's 2nd Birthday & Surprise Guest 'Question Of The Day' | Vlogmas Day 6.mp4", false, ~U[2025-12-07 17:00:29Z]] 01:33:51.019 [debug] QUERY OK source="sources" db=0.3ms idle=10.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [10] 01:33:51.021 [debug] QUERY OK source="media_items" db=1.5ms idle=5.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-06 17:13:18Z], 10] 01:33:51.024 [debug] QUERY OK source="media_items" db=1.5ms idle=6.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Prepping & Decorating For Novies Birthday | Vlogmas Day 5\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Polly Pocket Advent Calendar – https://bit.ly/4ovPsqy (OOS) / https://go.shopmy.us/p-33977183 (similar)\n↠ Sarrah Hazel Rug – Ruggable – https://go.shopmy.us/p-34396719 \n↠ Tidlo The Oldfield Farm – https://go.shopmy.us/p-34503631 \n↠ Steve & Maggie: Birthday Surprise – https://amzn.to/48l72ca (OOS)\n↠ Steve & Maggie: Halloween Soundbook – https://amzn.to/4oCIVdS (OOS)\n↠ Maggie Glove Puppet – https://go.shopmy.us/p-34503609 \n↠ The Sunday Diary – https://bit.ly/3YcPTLI\n\nW E A R I N G :\n⇢ Hoodie in Periwinkle – Dear Sunday – https://bit.ly/44e7bf0 \n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Green Parka – Sea Salt Cornwall – https://go.shopmy.us/p-34403431 \n⇢ Sweatshirt in Fern – Dear Sunday – https://bit.ly/48yxgqo \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Lori Banana Sweater – Claude & Co – https://go.shopmy.us/p-14305752 \n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n\nK I D S :\n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Santa PJs (old) – Chelsea Peers – https://go.shopmy.us/p-34392963 (similar)\n⇢ Off White Puffer Jacket – Tiny Colours – https://go.shopmy.us/p-30351757 \n⇢ Christmas Jumper (old) – Little Worne Store – https://go.shopmy.us/p-34403044 (similar)\n⇢ Duck Wellies – Jojo Maman Bebe – https://go.shopmy.us/p-26425775 \n⇢ Brown Corduroy Trousers – Tiny Colours – https://go.shopmy.us/p-34503423 \n⇢ Denim Pumpkin Dress – Next – https://go.shopmy.us/p-28913138\n⇢ Fern Vest – Mabli – https://go.shopmy.us/p-28928115 \n\nA L F I E :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34503298 \n⇢ Checkerboard Sweater – Blacksmith Store – https://go.shopmy.us/p-34503433 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Prepping & Decorating For Novies Birthday | Vlogmas Day 5", "aba76db5-9d1d-4327-ad88-da4beceabfa5", 10, [], 2422, false, "GYBy0IULHS0", "https://www.youtube.com/watch?v=GYBy0IULHS0", 20, "/downloads/shows/Zoe sugg/Season 2025/s2025e120600 - Prepping & Decorating For Novies Birthday | Vlogmas Day 5.mp4", false, false, false, 98, ~U[2025-12-06 17:13:18Z], ~U[2026-04-16 23:33:51Z], ~U[2026-04-16 23:33:51Z], "Prepping & Decorating For Novies Birthday | Vlogmas Day 5\n\nhttps://dearsunday.com/\n\nSome links below may be affiliate links — which means I receive a percentage of the revenue made from purchasing products through this link. This does not affect you as the consumer or the price of the product. It is also not a paid for promotion or a collaboration/advert with the brands featured. Anything featured below may have been sent by PR's, however I am never under any obligation to post & only talk about or use products I like & would naturally recommend.\n\nM E N T I O N E D :\n↠ Polly Pocket Advent Calendar – https://bit.ly/4ovPsqy (OOS) / https://go.shopmy.us/p-33977183 (similar)\n↠ Sarrah Hazel Rug – Ruggable – https://go.shopmy.us/p-34396719 \n↠ Tidlo The Oldfield Farm – https://go.shopmy.us/p-34503631 \n↠ Steve & Maggie: Birthday Surprise – https://amzn.to/48l72ca (OOS)\n↠ Steve & Maggie: Halloween Soundbook – https://amzn.to/4oCIVdS (OOS)\n↠ Maggie Glove Puppet – https://go.shopmy.us/p-34503609 \n↠ The Sunday Diary – https://bit.ly/3YcPTLI\n\nW E A R I N G :\n⇢ Hoodie in Periwinkle – Dear Sunday – https://bit.ly/44e7bf0 \n⇢ Adult Tartan PJs – Chelsea Peers – https://go.shopmy.us/p-34249564 \n⇢ Green Parka – Sea Salt Cornwall – https://go.shopmy.us/p-34403431 \n⇢ Sweatshirt in Fern – Dear Sunday – https://bit.ly/48yxgqo \n⇢ Red Beanie – Next – https://go.shopmy.us/p-34395821 \n⇢ Lori Banana Sweater – Claude & Co – https://go.shopmy.us/p-14305752 \n⇢ Santa PJ bottoms – Chelsea Peers – https://go.shopmy.us/p-34392754 \n\nK I D S :\n⇢ Christmas PJs – Mori – https://go.shopmy.us/p-34397664 \n⇢ Santa PJs (old) – Chelsea Peers – https://go.shopmy.us/p-34392963 (similar)\n⇢ Off White Puffer Jacket – Tiny Colours – https://go.shopmy.us/p-30351757 \n⇢ Christmas Jumper (old) – Little Worne Store – https://go.shopmy.us/p-34403044 (similar)\n⇢ Duck Wellies – Jojo Maman Bebe – https://go.shopmy.us/p-26425775 \n⇢ Brown Corduroy Trousers – Tiny Colours – https://go.shopmy.us/p-34503423 \n⇢ Denim Pumpkin Dress – Next – https://go.shopmy.us/p-28913138\n⇢ Fern Vest – Mabli – https://go.shopmy.us/p-28928115 \n\nA L F I E :\n⇢ Christmas PJ Bottoms – Mori – https://go.shopmy.us/p-34503298 \n⇢ Checkerboard Sweater – Blacksmith Store – https://go.shopmy.us/p-34503433 \n\nC H E C K O U T: \n↠ My Amazon Storefront — https://bit.ly/3K2HFQE\n↠ Shop My Wardrobe — https://shopmy.us/zoesugg", "Prepping & Decorating For Novies Birthday | Vlogmas Day 5", 10, 2422, false, "GYBy0IULHS0", "https://www.youtube.com/watch?v=GYBy0IULHS0", "/downloads/shows/Zoe sugg/Season 2025/s2025e120600 - Prepping & Decorating For Novies Birthday | Vlogmas Day 5.mp4", false, ~U[2025-12-06 17:13:18Z]] 01:33:51.024 [debug] QUERY OK source="sources" db=0.2ms idle=7.0ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-16 23:33:51Z], ~U[2026-04-16 23:33:51Z], 10] 01:33:51.026 [debug] QUERY OK source="media_items" db=1.8ms idle=5.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [10] 01:33:51.028 [debug] QUERY OK source="media_items" db=1.7ms idle=7.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [10] 01:33:51.029 [debug] QUERY OK source="media_items" db=0.3ms idle=7.3ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [10] 01:33:51.031 [debug] QUERY OK source="tasks" db=0.3ms idle=3.9ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [4851, 10, ~U[2026-04-16 23:33:51Z], ~U[2026-04-16 23:33:51Z]] 01:33:51.031 [info] {"args":{"id":10},"id":4839,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":69416141,"event":"job:stop","queue_time":752425,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 01:34:00.226 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:34:02.010 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:34:32.011 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:00.227 [info] {"source":"oban","duration":252,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:35:02.012 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:35:32.013 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:00.228 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:36:02.014 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:36:32.015 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:00.229 [info] {"source":"oban","duration":255,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:37:02.017 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:37:32.017 [info] {"source":"oban","duration":614,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:00.230 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:38:02.019 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:38:32.019 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:00.231 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:39:02.021 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:39:32.022 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:00.232 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:40:02.023 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:40:32.024 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:00.233 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:41:02.025 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:41:32.026 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:00.234 [info] {"source":"oban","duration":136,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:42:02.027 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:42:32.028 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:00.235 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:43:02.029 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:43:32.030 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:00.236 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:44:02.031 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:44:32.032 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:00.237 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:45:02.033 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:45:32.034 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:00.238 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:46:02.035 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:46:32.037 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:00.239 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:47:02.038 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:47:32.039 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:00.240 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:48:02.040 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:48:32.041 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:00.241 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:49:02.042 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:49:32.043 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:00.242 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:50:02.044 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:50:32.045 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:00.243 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:51:02.046 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:51:32.047 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:00.244 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:52:02.048 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:52:32.049 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:00.245 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:53:02.050 [info] {"source":"oban","duration":1042,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:53:32.052 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:00.246 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:54:02.053 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:54:32.054 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:00.247 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:55:02.054 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:55:32.056 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:00.248 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:56:02.057 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:56:32.058 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:00.249 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:57:02.059 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:57:32.060 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:00.250 [info] {"source":"oban","duration":233,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:58:02.061 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:58:32.062 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:00.251 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 01:59:02.063 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 01:59:32.065 [info] {"source":"oban","duration":1660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:00:00.252 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:00:02.067 [info] {"source":"oban","duration":1671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":4} 02:00:32.068 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:00.253 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:01:02.069 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:01:32.070 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:00.254 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:02:02.071 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:02:32.072 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:00.255 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:03:02.073 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:03:32.074 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:00.256 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:04:02.075 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:04:32.076 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:00.257 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:05:02.077 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:05:32.078 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:00.258 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:06:02.079 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:06:32.080 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:00.259 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:07:02.081 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:07:32.082 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:00.260 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:08:02.083 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:08:32.084 [info] {"source":"oban","duration":605,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:00.261 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:09:02.085 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:09:32.085 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:00.262 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:10:02.087 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:10:32.088 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:00.263 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:11:02.089 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:11:32.090 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:00.264 [info] {"source":"oban","duration":129,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:12:02.091 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:32.092 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:12:32.674 [info] GET / 02:12:32.674 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 02:12:32.674 [debug] QUERY OK source="settings" db=0.2ms idle=630.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:32.675 [debug] QUERY OK source="media_profiles" db=0.1ms idle=630.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 02:12:32.675 [debug] QUERY OK source="sources" db=0.0ms idle=630.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 02:12:32.679 [debug] QUERY OK source="media_items" db=3.5ms idle=583.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:12:32.679 [debug] QUERY OK source="media_items" db=0.3ms idle=390.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 02:12:32.680 [debug] QUERY OK source="settings" db=0.1ms idle=5.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:32.680 [debug] QUERY OK source="settings" db=0.0ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:32.681 [debug] QUERY OK source="settings" db=0.0ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:12:32.681 [debug] QUERY OK source="tasks" db=0.1ms idle=2.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"] 02:12:32.682 [debug] QUERY OK source="media_items" db=0.3ms idle=2.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)) [] 02:12:32.683 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."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] 02:12:32.683 [debug] QUERY OK source="sources" db=0.3ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 02:12:32.691 [debug] QUERY OK source="media_items" db=4.8ms idle=5.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"))) [] 02:12:32.694 [debug] QUERY OK source="media_items" db=2.5ms idle=9.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] 02:12:32.695 [info] Sent 200 in 21ms 02:13:00.265 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:13:02.093 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:13:32.094 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:00.266 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:14:02.096 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:14:32.097 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:00.267 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:15:02.098 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:15:32.099 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:00.268 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:16:02.100 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:16:32.101 [info] {"source":"oban","duration":754,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:00.269 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:17:02.102 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:32.103 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:17:55.644 [info] {"args":{"id":3},"id":4846,"meta":{},"system_time":1776385075644182599,"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"]} 02:17:55.645 [debug] QUERY OK source="sources" db=0.7ms idle=1599.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:17:55.645 [debug] QUERY OK source="settings" db=0.1ms idle=1600.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:55.647 [debug] QUERY OK source="media_items" db=1.0ms idle=1009.7ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 02:17:55.647 [debug] QUERY OK source="media_items" db=0.1ms idle=9.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 02:17:55.647 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:17:55.648 [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 [] 02:17:55.648 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:55.649 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 02:17:55.649 [debug] Current batch of media processed. Will check again in 1000ms 02:17:55.649 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:55.649 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:17:55.650 [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 [] 02:17:55.650 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLQJc0AKwP-an6_0X-ZX9pzXAHn5pQXqTd --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Livet på gården/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+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/6e/28/6e287d7b74e2c4449260ff5cab4bab062ca4c9271708a09afda1f44f0a50b70d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:17:56.650 [debug] Current batch of media processed. Will check again in 1000ms 02:17:57.651 [debug] Current batch of media processed. Will check again in 1000ms 02:17:58.652 [debug] Current batch of media processed. Will check again in 1000ms 02:17:59.653 [debug] Current batch of media processed. Will check again in 1000ms 02:18:00.270 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:18:00.654 [debug] Current batch of media processed. Will check again in 1000ms 02:18:01.655 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Sikke jeg har glædet mig til endelig at kunne dele denne rejse med jer. Vi er flyttet på landet! Jeg er tilbage på youtube og har taget hul på en ny begyndelse - mellem marker, dyr, og alt det andet som følger med at bo på landet. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "duration" => 1584, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e050900 - Rotter og høns på en rasteplads | Livet på gården Ep. 1.mp4", "id" => "0HQ2lA9SaEw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0HQ2lA9SaEw", "playlist_index" => 1, "timestamp" => 1715241600, "title" => "Rotter og høns på en rasteplads | Livet på gården Ep. 1", "upload_date" => "20240509"} 02:18:01.657 [debug] QUERY OK source="sources" db=1.4ms idle=1385.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:01.658 [debug] QUERY OK source="sources" db=0.4ms idle=1014.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:01.660 [debug] QUERY OK source="media_items" db=0.7ms queue=1.2ms idle=612.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-09 08:00:00Z], 3] 02:18:01.662 [debug] QUERY OK source="media_items" db=1.1ms idle=615.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sikke jeg har glædet mig til endelig at kunne dele denne rejse med jer. Vi er flyttet på landet! Jeg er tilbage på youtube og har taget hul på en ny begyndelse - mellem marker, dyr, og alt det andet som følger med at bo på landet. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Rotter og høns på en rasteplads | Livet på gården Ep. 1", "4e3b4ca0-2e92-4584-be84-c61d953ea2fe", 3, [], 1584, false, "0HQ2lA9SaEw", "https://www.youtube.com/watch?v=0HQ2lA9SaEw", 1, "/downloads/shows/Livet på gården/Season 2024/s2024e050900 - Rotter og høns på en rasteplads | Livet på gården Ep. 1.mp4", false, false, false, 1, ~U[2024-05-09 08:00:00Z], ~U[2026-04-17 00:18:01Z], ~U[2026-04-17 00:18:01Z], "Sikke jeg har glædet mig til endelig at kunne dele denne rejse med jer. Vi er flyttet på landet! Jeg er tilbage på youtube og har taget hul på en ny begyndelse - mellem marker, dyr, og alt det andet som følger med at bo på landet. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Rotter og høns på en rasteplads | Livet på gården Ep. 1", 3, 1584, false, "0HQ2lA9SaEw", "https://www.youtube.com/watch?v=0HQ2lA9SaEw", "/downloads/shows/Livet på gården/Season 2024/s2024e050900 - Rotter og høns på en rasteplads | Livet på gården Ep. 1.mp4", false, ~U[2024-05-09 08:00:00Z]] 02:18:01.663 [debug] QUERY OK source="sources" db=0.4ms idle=18.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:01.665 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.5ms 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] 02:18:01.667 [debug] QUERY OK source="media_items" db=0.8ms queue=1.0ms 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 [225] 02:18:01.667 [debug] Current batch of media processed. Will check again in 1000ms 02:18:02.111 [info] {"source":"oban","duration":3544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:02.668 [debug] Current batch of media processed. Will check again in 1000ms 02:18:03.669 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit henter vi vores hund Carla, begynder for alvor at pille huset fra hinanden og meget mere. Tak fordi du vil se med. Det betyder mere end du aner!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kriistinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "duration" => 1514, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e051600 - Vi får en hundehvalp | Livet på gården Ep. 2.mp4", "id" => "TsAkJcpR_Io", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TsAkJcpR_Io", "playlist_index" => 2, "timestamp" => 1715868032, "title" => "Vi får en hundehvalp | Livet på gården Ep. 2", "upload_date" => "20240516"} 02:18:03.670 [debug] QUERY OK source="sources" db=0.3ms idle=1024.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:03.670 [debug] QUERY OK source="sources" db=0.2ms idle=624.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:03.671 [debug] QUERY OK source="media_items" db=0.5ms idle=625.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-16 14:00:32Z], 3] 02:18:03.672 [debug] QUERY OK source="media_items" db=0.7ms idle=626.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit henter vi vores hund Carla, begynder for alvor at pille huset fra hinanden og meget mere. Tak fordi du vil se med. Det betyder mere end du aner!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kriistinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får en hundehvalp | Livet på gården Ep. 2", "83e40dcf-e928-4415-97b3-8fceb22c1c4c", 3, [], 1514, false, "TsAkJcpR_Io", "https://www.youtube.com/watch?v=TsAkJcpR_Io", 2, "/downloads/shows/Livet på gården/Season 2024/s2024e051600 - Vi får en hundehvalp | Livet på gården Ep. 2.mp4", false, false, false, 1, ~U[2024-05-16 14:00:32Z], ~U[2026-04-17 00:18:03Z], ~U[2026-04-17 00:18:03Z], "I dette afsnit henter vi vores hund Carla, begynder for alvor at pille huset fra hinanden og meget mere. Tak fordi du vil se med. Det betyder mere end du aner!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kriistinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får en hundehvalp | Livet på gården Ep. 2", 3, 1514, false, "TsAkJcpR_Io", "https://www.youtube.com/watch?v=TsAkJcpR_Io", "/downloads/shows/Livet på gården/Season 2024/s2024e051600 - Vi får en hundehvalp | Livet på gården Ep. 2.mp4", false, ~U[2024-05-16 14:00:32Z]] 02:18:03.673 [debug] QUERY OK source="sources" db=0.1ms idle=26.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:03.673 [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] 02:18:03.674 [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 [226] 02:18:03.674 [debug] Current batch of media processed. Will check again in 1000ms 02:18:04.675 [debug] Current batch of media processed. Will check again in 1000ms 02:18:05.676 [debug] Current batch of media processed. Will check again in 1000ms 02:18:06.677 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dagens afsnit er der mangel på overskud, og en hulens masse sand. Tak fordi du ser med \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "duration" => 1483, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e052300 - Vi graver ud i huset | Livet på gården Ep.3.mp4", "id" => "mzYiI1eVSe8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mzYiI1eVSe8", "playlist_index" => 3, "timestamp" => 1716472844, "title" => "Vi graver ud i huset | Livet på gården Ep.3", "upload_date" => "20240523"} 02:18:06.678 [debug] QUERY OK source="sources" db=0.2ms idle=1632.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:06.678 [debug] QUERY OK source="sources" db=0.2ms idle=1632.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:06.679 [debug] QUERY OK source="media_items" db=0.5ms idle=1633.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-23 14:00:44Z], 3] 02:18:06.681 [debug] QUERY OK source="media_items" db=0.8ms idle=1031.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dagens afsnit er der mangel på overskud, og en hulens masse sand. Tak fordi du ser med \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi graver ud i huset | Livet på gården Ep.3", "384caaf1-11bc-4d16-9e64-fd7756744829", 3, [], 1483, false, "mzYiI1eVSe8", "https://www.youtube.com/watch?v=mzYiI1eVSe8", 3, "/downloads/shows/Livet på gården/Season 2024/s2024e052300 - Vi graver ud i huset | Livet på gården Ep.3.mp4", false, false, false, 1, ~U[2024-05-23 14:00:44Z], ~U[2026-04-17 00:18:06Z], ~U[2026-04-17 00:18:06Z], "I dagens afsnit er der mangel på overskud, og en hulens masse sand. Tak fordi du ser med \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi graver ud i huset | Livet på gården Ep.3", 3, 1483, false, "mzYiI1eVSe8", "https://www.youtube.com/watch?v=mzYiI1eVSe8", "/downloads/shows/Livet på gården/Season 2024/s2024e052300 - Vi graver ud i huset | Livet på gården Ep.3.mp4", false, ~U[2024-05-23 14:00:44Z]] 02:18:06.681 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [3] 02:18:06.682 [debug] QUERY OK source="media_profiles" db=0.6ms 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] 02:18:06.683 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [227] 02:18:06.683 [debug] Current batch of media processed. Will check again in 1000ms 02:18:07.684 [debug] Current batch of media processed. Will check again in 1000ms 02:18:08.685 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dagens afsnit bryder en hest ind i den lille ladelejlighed, der har været ubehageligt besøg i hønsehuset og så er der for alvor kommet gang i køkkenhaven. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "duration" => 2520, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e053000 - En hest i stuen og døde høns | Livet på gården Ep. 4.mp4", "id" => "0jEgoy_T4E4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0jEgoy_T4E4", "playlist_index" => 4, "timestamp" => 1717077602, "title" => "En hest i stuen og døde høns | Livet på gården Ep. 4", "upload_date" => "20240530"} 02:18:08.686 [debug] QUERY OK source="sources" db=0.2ms idle=640.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:08.686 [debug] QUERY OK source="sources" db=0.1ms idle=640.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:08.687 [debug] QUERY OK source="media_items" db=0.3ms idle=641.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-30 14:00:02Z], 3] 02:18:08.688 [debug] QUERY OK source="media_items" db=0.8ms idle=641.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dagens afsnit bryder en hest ind i den lille ladelejlighed, der har været ubehageligt besøg i hønsehuset og så er der for alvor kommet gang i køkkenhaven. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "En hest i stuen og døde høns | Livet på gården Ep. 4", "92586c2e-e7bd-42c2-94fd-c5eb2218c3f9", 3, [], 2520, false, "0jEgoy_T4E4", "https://www.youtube.com/watch?v=0jEgoy_T4E4", 4, "/downloads/shows/Livet på gården/Season 2024/s2024e053000 - En hest i stuen og døde høns | Livet på gården Ep. 4.mp4", false, false, false, 1, ~U[2024-05-30 14:00:02Z], ~U[2026-04-17 00:18:08Z], ~U[2026-04-17 00:18:08Z], "I dagens afsnit bryder en hest ind i den lille ladelejlighed, der har været ubehageligt besøg i hønsehuset og så er der for alvor kommet gang i køkkenhaven. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "En hest i stuen og døde høns | Livet på gården Ep. 4", 3, 2520, false, "0jEgoy_T4E4", "https://www.youtube.com/watch?v=0jEgoy_T4E4", "/downloads/shows/Livet på gården/Season 2024/s2024e053000 - En hest i stuen og døde høns | Livet på gården Ep. 4.mp4", false, ~U[2024-05-30 14:00:02Z]] 02:18:08.688 [debug] QUERY OK source="sources" db=0.2ms idle=36.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:08.689 [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] 02:18:08.689 [debug] QUERY OK source="media_items" db=0.3ms 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 [228] 02:18:08.690 [debug] Current batch of media processed. Will check again in 1000ms 02:18:09.691 [debug] Current batch of media processed. Will check again in 1000ms 02:18:10.691 [debug] Current batch of media processed. Will check again in 1000ms 02:18:11.692 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit får vores høne Karen kyllinger, vi renoverer stadig derudaf og så får vi leveret køkken. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "duration" => 2357, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e060600 - Vi får kyllinger og køkken | Livet på gården Ep.5.mp4", "id" => "w_MEeum-cxQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=w_MEeum-cxQ", "playlist_index" => 5, "timestamp" => 1717682457, "title" => "Vi får kyllinger og køkken | Livet på gården Ep.5", "upload_date" => "20240606"} 02:18:11.693 [debug] QUERY OK source="sources" db=0.2ms idle=1647.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:11.693 [debug] QUERY OK source="sources" db=0.2ms idle=1647.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:11.694 [debug] QUERY OK source="media_items" db=0.3ms idle=1038.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-06 14:00:57Z], 3] 02:18:11.695 [debug] QUERY OK source="media_items" db=0.7ms idle=649.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit får vores høne Karen kyllinger, vi renoverer stadig derudaf og så får vi leveret køkken. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får kyllinger og køkken | Livet på gården Ep.5", "1940af66-c82d-4394-bb3c-21169bb73816", 3, [], 2357, false, "w_MEeum-cxQ", "https://www.youtube.com/watch?v=w_MEeum-cxQ", 5, "/downloads/shows/Livet på gården/Season 2024/s2024e060600 - Vi får kyllinger og køkken | Livet på gården Ep.5.mp4", false, false, false, 1, ~U[2024-06-06 14:00:57Z], ~U[2026-04-17 00:18:11Z], ~U[2026-04-17 00:18:11Z], "I dette afsnit får vores høne Karen kyllinger, vi renoverer stadig derudaf og så får vi leveret køkken. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får kyllinger og køkken | Livet på gården Ep.5", 3, 2357, false, "w_MEeum-cxQ", "https://www.youtube.com/watch?v=w_MEeum-cxQ", "/downloads/shows/Livet på gården/Season 2024/s2024e060600 - Vi får kyllinger og køkken | Livet på gården Ep.5.mp4", false, ~U[2024-06-06 14:00:57Z]] 02:18:11.696 [debug] QUERY OK source="sources" db=0.1ms idle=39.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:11.696 [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] 02:18:11.696 [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 [229] 02:18:11.697 [debug] Current batch of media processed. Will check again in 1000ms 02:18:12.697 [debug] Current batch of media processed. Will check again in 1000ms 02:18:13.698 [debug] Current batch of media processed. Will check again in 1000ms 02:18:14.699 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode kan man roligt sige at der er kaos på gården. Midt i renoveringen får vi besøg af flere millioner blodmider, som er ved at suge blod fra alle hønsene. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1911, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e061300 - Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6.mp4", "id" => "LgpqgWbzuiM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LgpqgWbzuiM", "playlist_index" => 6, "timestamp" => 1718287214, "title" => "Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6", "upload_date" => "20240613"} 02:18:14.700 [debug] QUERY OK source="sources" db=0.2ms idle=1654.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:14.701 [debug] QUERY OK source="sources" db=0.9ms idle=1654.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:14.702 [debug] QUERY OK source="media_items" db=0.7ms idle=1655.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-13 14:00:14Z], 3] 02:18:14.704 [debug] QUERY OK source="media_items" db=0.9ms idle=1045.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode kan man roligt sige at der er kaos på gården. Midt i renoveringen får vi besøg af flere millioner blodmider, som er ved at suge blod fra alle hønsene. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6", "90757863-7069-49c9-87b7-4e18fc25dcf6", 3, [], 1911, false, "LgpqgWbzuiM", "https://www.youtube.com/watch?v=LgpqgWbzuiM", 6, "/downloads/shows/Livet på gården/Season 2024/s2024e061300 - Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6.mp4", false, false, false, 1, ~U[2024-06-13 14:00:14Z], ~U[2026-04-17 00:18:14Z], ~U[2026-04-17 00:18:14Z], "I denne episode kan man roligt sige at der er kaos på gården. Midt i renoveringen får vi besøg af flere millioner blodmider, som er ved at suge blod fra alle hønsene. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6", 3, 1911, false, "LgpqgWbzuiM", "https://www.youtube.com/watch?v=LgpqgWbzuiM", "/downloads/shows/Livet på gården/Season 2024/s2024e061300 - Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6.mp4", false, ~U[2024-06-13 14:00:14Z]] 02:18:14.705 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [3] 02:18:14.705 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:18:14.706 [debug] QUERY OK source="media_items" db=0.4ms 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 [230] 02:18:14.706 [debug] Current batch of media processed. Will check again in 1000ms 02:18:15.707 [debug] Current batch of media processed. Will check again in 1000ms 02:18:16.708 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er der mere kaos, både da vores heste stikker af om natten og en meget tung bordplade skal på plads. Og så er Mikkel udkørt. Meget udkørt.\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "duration" => 1808, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e062000 - Vores heste stikker af | Livet på gården Ep. 7.mp4", "id" => "tPMYODqzWfI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tPMYODqzWfI", "playlist_index" => 7, "timestamp" => 1718892044, "title" => "Vores heste stikker af | Livet på gården Ep. 7", "upload_date" => "20240620"} 02:18:16.709 [debug] QUERY OK source="sources" db=0.2ms idle=663.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:16.709 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=663.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:16.710 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=664.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-20 14:00:44Z], 3] 02:18:16.711 [debug] QUERY OK source="media_items" db=0.8ms idle=665.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der mere kaos, både da vores heste stikker af om natten og en meget tung bordplade skal på plads. Og så er Mikkel udkørt. Meget udkørt.\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vores heste stikker af | Livet på gården Ep. 7", "feeda7d1-5b54-4111-beaa-578957285410", 3, [], 1808, false, "tPMYODqzWfI", "https://www.youtube.com/watch?v=tPMYODqzWfI", 7, "/downloads/shows/Livet på gården/Season 2024/s2024e062000 - Vores heste stikker af | Livet på gården Ep. 7.mp4", false, false, false, 1, ~U[2024-06-20 14:00:44Z], ~U[2026-04-17 00:18:16Z], ~U[2026-04-17 00:18:16Z], "I dette afsnit er der mere kaos, både da vores heste stikker af om natten og en meget tung bordplade skal på plads. Og så er Mikkel udkørt. Meget udkørt.\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vores heste stikker af | Livet på gården Ep. 7", 3, 1808, false, "tPMYODqzWfI", "https://www.youtube.com/watch?v=tPMYODqzWfI", "/downloads/shows/Livet på gården/Season 2024/s2024e062000 - Vores heste stikker af | Livet på gården Ep. 7.mp4", false, ~U[2024-06-20 14:00:44Z]] 02:18:16.712 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:16.712 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:18:16.713 [debug] QUERY OK source="media_items" db=0.3ms 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 [231] 02:18:16.713 [debug] Current batch of media processed. Will check again in 1000ms 02:18:17.716 [debug] Current batch of media processed. Will check again in 1000ms 02:18:18.717 [debug] Current batch of media processed. Will check again in 1000ms 02:18:19.718 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er der vand OVERALT, heste flytter hjemmefra og så får vi virkelig rykket på sager i huset - hvilket er meget tiltrængt, da vinteren nærmer sig med hastige skridt. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "duration" => 2043, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e062700 - Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8.mp4", "id" => "5w4Zkb-V2fE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5w4Zkb-V2fE", "playlist_index" => 8, "timestamp" => 1719496803, "title" => "Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8", "upload_date" => "20240627"} 02:18:19.719 [debug] QUERY OK source="sources" db=0.1ms idle=1673.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:19.719 [debug] QUERY OK source="sources" db=0.1ms idle=1673.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:19.720 [debug] QUERY OK source="media_items" db=0.3ms idle=1674.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-27 14:00:03Z], 3] 02:18:19.721 [debug] QUERY OK source="media_items" db=0.7ms idle=1056.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der vand OVERALT, heste flytter hjemmefra og så får vi virkelig rykket på sager i huset - hvilket er meget tiltrængt, da vinteren nærmer sig med hastige skridt. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8", "f752d9dd-b165-4c77-8cdf-3ff20cd4d506", 3, [], 2043, false, "5w4Zkb-V2fE", "https://www.youtube.com/watch?v=5w4Zkb-V2fE", 8, "/downloads/shows/Livet på gården/Season 2024/s2024e062700 - Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8.mp4", false, false, false, 1, ~U[2024-06-27 14:00:03Z], ~U[2026-04-17 00:18:19Z], ~U[2026-04-17 00:18:19Z], "I dette afsnit er der vand OVERALT, heste flytter hjemmefra og så får vi virkelig rykket på sager i huset - hvilket er meget tiltrængt, da vinteren nærmer sig med hastige skridt. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8", 3, 2043, false, "5w4Zkb-V2fE", "https://www.youtube.com/watch?v=5w4Zkb-V2fE", "/downloads/shows/Livet på gården/Season 2024/s2024e062700 - Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8.mp4", false, ~U[2024-06-27 14:00:03Z]] 02:18:19.721 [debug] QUERY OK source="sources" db=0.1ms idle=56.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:19.722 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:18:19.722 [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 [232] 02:18:19.722 [debug] Current batch of media processed. Will check again in 1000ms 02:18:20.723 [debug] Current batch of media processed. Will check again in 1000ms 02:18:21.724 [debug] Current batch of media processed. Will check again in 1000ms 02:18:22.725 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit runder vi har for denne gang, flytter ind i huset og viser rundt.\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "duration" => 2059, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e070400 - House tour | Livet på gården Ep. 9.mp4", "id" => "KotEK3OaF80", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KotEK3OaF80", "playlist_index" => 9, "timestamp" => 1720101614, "title" => "House tour | Livet på gården Ep. 9", "upload_date" => "20240704"} 02:18:22.726 [debug] QUERY OK source="sources" db=0.2ms idle=1680.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:22.726 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1681.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:22.727 [debug] QUERY OK source="media_items" db=0.3ms idle=1681.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-04 14:00:14Z], 3] 02:18:22.728 [debug] QUERY OK source="media_items" db=0.8ms idle=1060.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit runder vi har for denne gang, flytter ind i huset og viser rundt.\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "House tour | Livet på gården Ep. 9", "0c729ed9-52fe-4e7d-adcf-f0fd2e1a72fb", 3, [], 2059, false, "KotEK3OaF80", "https://www.youtube.com/watch?v=KotEK3OaF80", 9, "/downloads/shows/Livet på gården/Season 2024/s2024e070400 - House tour | Livet på gården Ep. 9.mp4", false, false, false, 1, ~U[2024-07-04 14:00:14Z], ~U[2026-04-17 00:18:22Z], ~U[2026-04-17 00:18:22Z], "I dette afsnit runder vi har for denne gang, flytter ind i huset og viser rundt.\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "House tour | Livet på gården Ep. 9", 3, 2059, false, "KotEK3OaF80", "https://www.youtube.com/watch?v=KotEK3OaF80", "/downloads/shows/Livet på gården/Season 2024/s2024e070400 - House tour | Livet på gården Ep. 9.mp4", false, ~U[2024-07-04 14:00:14Z]] 02:18:22.729 [debug] QUERY OK source="sources" db=0.2ms idle=59.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:22.729 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:18:22.730 [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 [233] 02:18:22.730 [debug] Current batch of media processed. Will check again in 1000ms 02:18:23.731 [debug] Current batch of media processed. Will check again in 1000ms 02:18:24.732 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit har vi desværre haft besøg af måren som har taget liv af næsten alle vores høns, jeg udruger kyllinger i rugemaskine og så er der så småt ved at være gang i haven i det tidlige forår. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1462, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e071800 - Måren har dræbt vores høns | Livet på gården Ep. 10.mp4", "id" => "ACbhu-bCkCs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ACbhu-bCkCs", "playlist_index" => 10, "timestamp" => 1721311209, "title" => "Måren har dræbt vores høns | Livet på gården Ep. 10", "upload_date" => "20240718"} 02:18:24.733 [debug] QUERY OK source="sources" db=0.2ms idle=687.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:24.733 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=687.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:24.734 [debug] QUERY OK source="media_items" db=0.3ms idle=688.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-18 14:00:09Z], 3] 02:18:24.735 [debug] QUERY OK source="media_items" db=0.7ms idle=689.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har vi desværre haft besøg af måren som har taget liv af næsten alle vores høns, jeg udruger kyllinger i rugemaskine og så er der så småt ved at være gang i haven i det tidlige forår. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Måren har dræbt vores høns | Livet på gården Ep. 10", "c2ec307f-ac59-46ee-91ed-7562a6aa505f", 3, [], 1462, false, "ACbhu-bCkCs", "https://www.youtube.com/watch?v=ACbhu-bCkCs", 10, "/downloads/shows/Livet på gården/Season 2024/s2024e071800 - Måren har dræbt vores høns | Livet på gården Ep. 10.mp4", false, false, false, 1, ~U[2024-07-18 14:00:09Z], ~U[2026-04-17 00:18:24Z], ~U[2026-04-17 00:18:24Z], "I dette afsnit har vi desværre haft besøg af måren som har taget liv af næsten alle vores høns, jeg udruger kyllinger i rugemaskine og så er der så småt ved at være gang i haven i det tidlige forår. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Måren har dræbt vores høns | Livet på gården Ep. 10", 3, 1462, false, "ACbhu-bCkCs", "https://www.youtube.com/watch?v=ACbhu-bCkCs", "/downloads/shows/Livet på gården/Season 2024/s2024e071800 - Måren har dræbt vores høns | Livet på gården Ep. 10.mp4", false, ~U[2024-07-18 14:00:09Z]] 02:18:24.736 [debug] QUERY OK source="sources" db=0.1ms idle=64.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:24.736 [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] 02:18:24.737 [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 [234] 02:18:24.737 [debug] Current batch of media processed. Will check again in 1000ms 02:18:25.739 [debug] Current batch of media processed. Will check again in 1000ms 02:18:26.740 [debug] Current batch of media processed. Will check again in 1000ms 02:18:27.741 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit står hønsehuset endelig færdigt og der flytter nye damer ind i gården. Der er ogs fuld fart på rugemaskinen, dog med dårligt held. Og så er vi ved at gøre haven klar til sæsonen. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1666, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e072500 - Nye høns og havearbejde | Livet på gården Ep. 11.mp4", "id" => "Sk2CUC0pUsw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Sk2CUC0pUsw", "playlist_index" => 11, "timestamp" => 1721916021, "title" => "Nye høns og havearbejde | Livet på gården Ep. 11", "upload_date" => "20240725"} 02:18:27.742 [debug] QUERY OK source="sources" db=0.2ms idle=1696.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:27.742 [debug] QUERY OK source="sources" db=0.1ms idle=1696.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:27.743 [debug] QUERY OK source="media_items" db=0.3ms idle=1697.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-25 14:00:21Z], 3] 02:18:27.744 [debug] QUERY OK source="media_items" db=0.9ms idle=1070.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit står hønsehuset endelig færdigt og der flytter nye damer ind i gården. Der er ogs fuld fart på rugemaskinen, dog med dårligt held. Og så er vi ved at gøre haven klar til sæsonen. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nye høns og havearbejde | Livet på gården Ep. 11", "75a341b9-7165-4cf4-bb06-1ed6d9367c87", 3, [], 1666, false, "Sk2CUC0pUsw", "https://www.youtube.com/watch?v=Sk2CUC0pUsw", 11, "/downloads/shows/Livet på gården/Season 2024/s2024e072500 - Nye høns og havearbejde | Livet på gården Ep. 11.mp4", false, false, false, 1, ~U[2024-07-25 14:00:21Z], ~U[2026-04-17 00:18:27Z], ~U[2026-04-17 00:18:27Z], "I dette afsnit står hønsehuset endelig færdigt og der flytter nye damer ind i gården. Der er ogs fuld fart på rugemaskinen, dog med dårligt held. Og så er vi ved at gøre haven klar til sæsonen. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nye høns og havearbejde | Livet på gården Ep. 11", 3, 1666, false, "Sk2CUC0pUsw", "https://www.youtube.com/watch?v=Sk2CUC0pUsw", "/downloads/shows/Livet på gården/Season 2024/s2024e072500 - Nye høns og havearbejde | Livet på gården Ep. 11.mp4", false, ~U[2024-07-25 14:00:21Z]] 02:18:27.745 [debug] QUERY OK source="sources" db=0.1ms idle=69.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:27.745 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:18:27.746 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [235] 02:18:27.746 [debug] Current batch of media processed. Will check again in 1000ms 02:18:28.747 [debug] Current batch of media processed. Will check again in 1000ms 02:18:29.748 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video har jeg fuld gang i forspiringen, vi laver højbede og har taget en stor beslutning omkring vores 2 heste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1747, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e080100 - Heste og højbede | Livet på gården Ep. 12.mp4", "id" => "npE-BTzFMWc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=npE-BTzFMWc", "playlist_index" => 12, "timestamp" => 1722520842, "title" => "Heste og højbede | Livet på gården Ep. 12", "upload_date" => "20240801"} 02:18:29.749 [debug] QUERY OK source="sources" db=0.2ms idle=703.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:29.749 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=703.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:29.750 [debug] QUERY OK source="media_items" db=0.4ms idle=704.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-01 14:00:42Z], 3] 02:18:29.758 [debug] QUERY OK source="media_items" db=7.1ms idle=705.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har jeg fuld gang i forspiringen, vi laver højbede og har taget en stor beslutning omkring vores 2 heste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Heste og højbede | Livet på gården Ep. 12", "c9e7350c-b87c-4a37-8e6e-b597d0f81811", 3, [], 1747, false, "npE-BTzFMWc", "https://www.youtube.com/watch?v=npE-BTzFMWc", 12, "/downloads/shows/Livet på gården/Season 2024/s2024e080100 - Heste og højbede | Livet på gården Ep. 12.mp4", false, false, false, 1, ~U[2024-08-01 14:00:42Z], ~U[2026-04-17 00:18:29Z], ~U[2026-04-17 00:18:29Z], "I denne video har jeg fuld gang i forspiringen, vi laver højbede og har taget en stor beslutning omkring vores 2 heste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Heste og højbede | Livet på gården Ep. 12", 3, 1747, false, "npE-BTzFMWc", "https://www.youtube.com/watch?v=npE-BTzFMWc", "/downloads/shows/Livet på gården/Season 2024/s2024e080100 - Heste og højbede | Livet på gården Ep. 12.mp4", false, ~U[2024-08-01 14:00:42Z]] 02:18:29.758 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=79.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:29.759 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:18:29.759 [debug] QUERY OK source="media_items" db=0.3ms idle=9.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [236] 02:18:29.759 [debug] Current batch of media processed. Will check again in 1000ms 02:18:30.760 [debug] Current batch of media processed. Will check again in 1000ms 02:18:31.761 [debug] Current batch of media processed. Will check again in 1000ms 02:18:32.113 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:18:32.762 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit har vi taget en stor beslutning om at der skal flytte nye firebenede ind på marken, og vores kat Willy har kræft i øjet - og får det fjernet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1645, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e080800 - Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13.mp4", "id" => "mBkf-1EFsdE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mBkf-1EFsdE", "playlist_index" => 13, "timestamp" => 1723125644, "title" => "Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13", "upload_date" => "20240808"} 02:18:32.763 [debug] QUERY OK source="sources" db=0.2ms idle=1717.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:32.763 [debug] QUERY OK source="sources" db=0.1ms idle=1718.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:32.764 [debug] QUERY OK source="media_items" db=0.3ms idle=1081.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-08 14:00:44Z], 3] 02:18:32.767 [debug] QUERY OK source="media_items" db=2.5ms idle=651.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har vi taget en stor beslutning om at der skal flytte nye firebenede ind på marken, og vores kat Willy har kræft i øjet - og får det fjernet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13", "bcbdb560-09e1-4750-8ab2-a9eecca91b8e", 3, [], 1645, false, "mBkf-1EFsdE", "https://www.youtube.com/watch?v=mBkf-1EFsdE", 13, "/downloads/shows/Livet på gården/Season 2024/s2024e080800 - Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13.mp4", false, false, false, 1, ~U[2024-08-08 14:00:44Z], ~U[2026-04-17 00:18:32Z], ~U[2026-04-17 00:18:32Z], "I dette afsnit har vi taget en stor beslutning om at der skal flytte nye firebenede ind på marken, og vores kat Willy har kræft i øjet - og får det fjernet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13", 3, 1645, false, "mBkf-1EFsdE", "https://www.youtube.com/watch?v=mBkf-1EFsdE", "/downloads/shows/Livet på gården/Season 2024/s2024e080800 - Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13.mp4", false, ~U[2024-08-08 14:00:44Z]] 02:18:32.768 [debug] QUERY OK source="sources" db=0.4ms idle=84.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:32.768 [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] 02:18:32.769 [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 [237] 02:18:32.769 [debug] Current batch of media processed. Will check again in 1000ms 02:18:33.770 [debug] Current batch of media processed. Will check again in 1000ms 02:18:34.771 [debug] Current batch of media processed. Will check again in 1000ms 02:18:35.772 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit får vi endelig grise, Felix er på besøg og jeg har nogle lidt svære dage. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1651, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e081500 - VI HAR FÅET GRISE! | Livet på gården Ep. 14.mp4", "id" => "EKIo-bTmT5I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EKIo-bTmT5I", "playlist_index" => 14, "timestamp" => 1723730416, "title" => "VI HAR FÅET GRISE! | Livet på gården Ep. 14", "upload_date" => "20240815"} 02:18:35.773 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1727.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:35.774 [debug] QUERY OK source="sources" db=0.5ms idle=1728.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:35.775 [debug] QUERY OK source="media_items" db=0.9ms idle=1728.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-15 14:00:16Z], 3] 02:18:35.778 [debug] QUERY OK source="media_items" db=2.5ms idle=1089.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit får vi endelig grise, Felix er på besøg og jeg har nogle lidt svære dage. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "VI HAR FÅET GRISE! | Livet på gården Ep. 14", "52bd49a1-d42d-4023-b160-7c13cbdcc043", 3, [], 1651, false, "EKIo-bTmT5I", "https://www.youtube.com/watch?v=EKIo-bTmT5I", 14, "/downloads/shows/Livet på gården/Season 2024/s2024e081500 - VI HAR FÅET GRISE! | Livet på gården Ep. 14.mp4", false, false, false, 1, ~U[2024-08-15 14:00:16Z], ~U[2026-04-17 00:18:35Z], ~U[2026-04-17 00:18:35Z], "I dette afsnit får vi endelig grise, Felix er på besøg og jeg har nogle lidt svære dage. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "VI HAR FÅET GRISE! | Livet på gården Ep. 14", 3, 1651, false, "EKIo-bTmT5I", "https://www.youtube.com/watch?v=EKIo-bTmT5I", "/downloads/shows/Livet på gården/Season 2024/s2024e081500 - VI HAR FÅET GRISE! | Livet på gården Ep. 14.mp4", false, ~U[2024-08-15 14:00:16Z]] 02:18:35.779 [debug] QUERY OK source="sources" db=0.2ms idle=91.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:35.779 [debug] QUERY OK source="media_profiles" db=0.2ms queue=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] 02:18:35.780 [debug] QUERY OK source="media_items" db=0.7ms 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 [238] 02:18:35.781 [debug] Current batch of media processed. Will check again in 1000ms 02:18:36.781 [debug] Current batch of media processed. Will check again in 1000ms 02:18:37.782 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video har jeg nogle dårlige dage, jeg taler om mine diagnose, og så er der kommet godt gang i køkkenhaven - og dræbersneglene. Derudover må jeg tage livet af en kylling, fordi de andre er nogle bæster. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1505, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e082200 - Diagnose og dræbersnegle | Livet på gården Ep. 15.mp4", "id" => "tVgdZ9ycitU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tVgdZ9ycitU", "playlist_index" => 15, "timestamp" => 1724335253, "title" => "Diagnose og dræbersnegle | Livet på gården Ep. 15", "upload_date" => "20240822"} 02:18:37.783 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=615.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:37.783 [debug] QUERY OK source="sources" db=0.1ms idle=616.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:37.784 [debug] QUERY OK source="media_items" db=0.3ms idle=616.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-22 14:00:53Z], 3] 02:18:37.785 [debug] QUERY OK source="media_items" db=0.7ms idle=617.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har jeg nogle dårlige dage, jeg taler om mine diagnose, og så er der kommet godt gang i køkkenhaven - og dræbersneglene. Derudover må jeg tage livet af en kylling, fordi de andre er nogle bæster. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Diagnose og dræbersnegle | Livet på gården Ep. 15", "fa5182a7-cf77-4128-9515-b8551955331e", 3, [], 1505, false, "tVgdZ9ycitU", "https://www.youtube.com/watch?v=tVgdZ9ycitU", 15, "/downloads/shows/Livet på gården/Season 2024/s2024e082200 - Diagnose og dræbersnegle | Livet på gården Ep. 15.mp4", false, false, false, 1, ~U[2024-08-22 14:00:53Z], ~U[2026-04-17 00:18:37Z], ~U[2026-04-17 00:18:37Z], "I denne video har jeg nogle dårlige dage, jeg taler om mine diagnose, og så er der kommet godt gang i køkkenhaven - og dræbersneglene. Derudover må jeg tage livet af en kylling, fordi de andre er nogle bæster. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Diagnose og dræbersnegle | Livet på gården Ep. 15", 3, 1505, false, "tVgdZ9ycitU", "https://www.youtube.com/watch?v=tVgdZ9ycitU", "/downloads/shows/Livet på gården/Season 2024/s2024e082200 - Diagnose og dræbersnegle | Livet på gården Ep. 15.mp4", false, ~U[2024-08-22 14:00:53Z]] 02:18:37.786 [debug] QUERY OK source="sources" db=0.1ms idle=95.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:37.786 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:18:37.787 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [239] 02:18:37.787 [debug] Current batch of media processed. Will check again in 1000ms 02:18:38.787 [debug] Current batch of media processed. Will check again in 1000ms 02:18:39.788 [debug] Current batch of media processed. Will check again in 1000ms 02:18:40.789 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit kommer der 5 nye liv til verden, når Connie føder sine små griseunger, vi gør klar til sankt hans og så har vi fået et nyt projekt, nemlig at renovere det gamle fyrrum om til keramikværksted.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1871, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e082900 - Grisefødsel og sankt hans på gården | Livet på gården Ep. 16.mp4", "id" => "X-mJfUiB8oE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=X-mJfUiB8oE", "playlist_index" => 16, "timestamp" => 1724940026, "title" => "Grisefødsel og sankt hans på gården | Livet på gården Ep. 16", "upload_date" => "20240829"} 02:18:40.790 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1622.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:40.790 [debug] QUERY OK source="sources" db=0.1ms idle=1622.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:40.791 [debug] QUERY OK source="media_items" db=0.4ms idle=1623.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-29 14:00:26Z], 3] 02:18:40.792 [debug] QUERY OK source="media_items" db=0.7ms idle=1098.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer der 5 nye liv til verden, når Connie føder sine små griseunger, vi gør klar til sankt hans og så har vi fået et nyt projekt, nemlig at renovere det gamle fyrrum om til keramikværksted.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Grisefødsel og sankt hans på gården | Livet på gården Ep. 16", "ff789f56-ad57-4f77-88b8-5c6394b8399f", 3, [], 1871, false, "X-mJfUiB8oE", "https://www.youtube.com/watch?v=X-mJfUiB8oE", 16, "/downloads/shows/Livet på gården/Season 2024/s2024e082900 - Grisefødsel og sankt hans på gården | Livet på gården Ep. 16.mp4", false, false, false, 1, ~U[2024-08-29 14:00:26Z], ~U[2026-04-17 00:18:40Z], ~U[2026-04-17 00:18:40Z], "I dette afsnit kommer der 5 nye liv til verden, når Connie føder sine små griseunger, vi gør klar til sankt hans og så har vi fået et nyt projekt, nemlig at renovere det gamle fyrrum om til keramikværksted.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Grisefødsel og sankt hans på gården | Livet på gården Ep. 16", 3, 1871, false, "X-mJfUiB8oE", "https://www.youtube.com/watch?v=X-mJfUiB8oE", "/downloads/shows/Livet på gården/Season 2024/s2024e082900 - Grisefødsel og sankt hans på gården | Livet på gården Ep. 16.mp4", false, ~U[2024-08-29 14:00:26Z]] 02:18:40.793 [debug] QUERY OK source="sources" db=0.1ms idle=97.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:40.793 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:18:40.793 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [240] 02:18:40.794 [debug] Current batch of media processed. Will check again in 1000ms 02:18:41.794 [debug] Current batch of media processed. Will check again in 1000ms 02:18:42.795 [debug] Current batch of media processed. Will check again in 1000ms 02:18:43.796 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit sætter jeg mit keramik til salg for anden gang, med kæmpe sommerfugle i maven, jeg kører akut hjem fra en fødselsdag fordi det ligner at Helle er ved at føde - og så starter vi renoveringen af det nye værksted!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1643, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e091900 - Keramiksalg og nyt værksted | Livet på gården Ep. 19.mp4", "id" => "ACPmnpI3fvU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ACPmnpI3fvU", "playlist_index" => 17, "timestamp" => 1726754408, "title" => "Keramiksalg og nyt værksted | Livet på gården Ep. 19", "upload_date" => "20240919"} 02:18:43.797 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1629.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:43.797 [debug] QUERY OK source="sources" db=0.1ms idle=1630.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:43.798 [debug] QUERY OK source="media_items" db=0.3ms idle=1630.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-19 14:00:08Z], 3] 02:18:43.799 [debug] QUERY OK source="media_items" db=0.7ms idle=1100.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit sætter jeg mit keramik til salg for anden gang, med kæmpe sommerfugle i maven, jeg kører akut hjem fra en fødselsdag fordi det ligner at Helle er ved at føde - og så starter vi renoveringen af det nye værksted!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Keramiksalg og nyt værksted | Livet på gården Ep. 19", "5c0f4438-0b69-4675-a6cb-a6b095d0cfe8", 3, [], 1643, false, "ACPmnpI3fvU", "https://www.youtube.com/watch?v=ACPmnpI3fvU", 17, "/downloads/shows/Livet på gården/Season 2024/s2024e091900 - Keramiksalg og nyt værksted | Livet på gården Ep. 19.mp4", false, false, false, 1, ~U[2024-09-19 14:00:08Z], ~U[2026-04-17 00:18:43Z], ~U[2026-04-17 00:18:43Z], "I dette afsnit sætter jeg mit keramik til salg for anden gang, med kæmpe sommerfugle i maven, jeg kører akut hjem fra en fødselsdag fordi det ligner at Helle er ved at føde - og så starter vi renoveringen af det nye værksted!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Keramiksalg og nyt værksted | Livet på gården Ep. 19", 3, 1643, false, "ACPmnpI3fvU", "https://www.youtube.com/watch?v=ACPmnpI3fvU", "/downloads/shows/Livet på gården/Season 2024/s2024e091900 - Keramiksalg og nyt værksted | Livet på gården Ep. 19.mp4", false, ~U[2024-09-19 14:00:08Z]] 02:18:43.800 [debug] QUERY OK source="sources" db=0.3ms 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" = ?) [3] 02:18:43.800 [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] 02:18:43.801 [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 [241] 02:18:43.801 [debug] Current batch of media processed. Will check again in 1000ms 02:18:44.802 [debug] Current batch of media processed. Will check again in 1000ms 02:18:45.803 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for IKEA.\n\nI denne video handler det om søvn og soveværelse. IKEA har nemlig spurgt mig om ikke jeg kunne have lyst til at få bygget vores kommende soveværelse i deres showroom i Aalborg. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBusiness mail: business@kristinesloth.dk", "duration" => 1387, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e091200 - Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18.mp4", "id" => "yzoiqawrf90", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yzoiqawrf90", "playlist_index" => 18, "timestamp" => 1726149663, "title" => "Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18", "upload_date" => "20240912"} 02:18:45.804 [debug] QUERY OK source="sources" db=0.2ms idle=636.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:45.804 [debug] QUERY OK source="sources" db=0.1ms idle=636.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:45.805 [debug] QUERY OK source="media_items" db=0.3ms idle=637.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-12 14:01:03Z], 3] 02:18:45.806 [debug] QUERY OK source="media_items" db=0.7ms idle=637.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for IKEA.\n\nI denne video handler det om søvn og soveværelse. IKEA har nemlig spurgt mig om ikke jeg kunne have lyst til at få bygget vores kommende soveværelse i deres showroom i Aalborg. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBusiness mail: business@kristinesloth.dk", "Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18", "68aaec5d-3028-4da5-b0ca-de3235f1f9d2", 3, [], 1387, false, "yzoiqawrf90", "https://www.youtube.com/watch?v=yzoiqawrf90", 18, "/downloads/shows/Livet på gården/Season 2024/s2024e091200 - Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18.mp4", false, false, false, 1, ~U[2024-09-12 14:01:03Z], ~U[2026-04-17 00:18:45Z], ~U[2026-04-17 00:18:45Z], "Denne video indeholder reklame for IKEA.\n\nI denne video handler det om søvn og soveværelse. IKEA har nemlig spurgt mig om ikke jeg kunne have lyst til at få bygget vores kommende soveværelse i deres showroom i Aalborg. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBusiness mail: business@kristinesloth.dk", "Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18", 3, 1387, false, "yzoiqawrf90", "https://www.youtube.com/watch?v=yzoiqawrf90", "/downloads/shows/Livet på gården/Season 2024/s2024e091200 - Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18.mp4", false, ~U[2024-09-12 14:01:03Z]] 02:18:45.806 [debug] QUERY OK source="sources" db=0.1ms idle=105.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:45.807 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:18:45.807 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [242] 02:18:45.807 [debug] Current batch of media processed. Will check again in 1000ms 02:18:46.808 [debug] Current batch of media processed. Will check again in 1000ms 02:18:47.809 [debug] Current batch of media processed. Will check again in 1000ms 02:18:48.810 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit besøger jeg for første gang dyrenes beskyttelse som ambassadør. En hel dag fyldt med magiske dyr, der bare drømmer om at nogen vil have dem til at bo hos sig. Jeg havde taget dem alle sammen hvis jeg måtte for Mikkel. \n\nDu kan læse mere om dyrenes beskyttelse og deres arbejde, samt se alle de dyr der er til adoption lige her: https://www.dyrenesbeskyttelse.dk/\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1742, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e100300 - En hel dag på dyreinternat | Livet på gården Ep. 21.mp4", "id" => "UlJfAh2C0fE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=UlJfAh2C0fE", "playlist_index" => 19, "timestamp" => 1727964034, "title" => "En hel dag på dyreinternat | Livet på gården Ep. 21", "upload_date" => "20241003"} 02:18:48.811 [debug] QUERY OK source="sources" db=0.2ms idle=1643.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:48.811 [debug] QUERY OK source="sources" db=0.2ms idle=1643.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:48.812 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1644.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-03 14:00:34Z], 3] 02:18:48.814 [debug] QUERY OK source="media_items" db=1.0ms idle=1109.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit besøger jeg for første gang dyrenes beskyttelse som ambassadør. En hel dag fyldt med magiske dyr, der bare drømmer om at nogen vil have dem til at bo hos sig. Jeg havde taget dem alle sammen hvis jeg måtte for Mikkel. \n\nDu kan læse mere om dyrenes beskyttelse og deres arbejde, samt se alle de dyr der er til adoption lige her: https://www.dyrenesbeskyttelse.dk/\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En hel dag på dyreinternat | Livet på gården Ep. 21", "87be1764-49c3-4c55-b596-e22b8d8bf073", 3, [], 1742, false, "UlJfAh2C0fE", "https://www.youtube.com/watch?v=UlJfAh2C0fE", 19, "/downloads/shows/Livet på gården/Season 2024/s2024e100300 - En hel dag på dyreinternat | Livet på gården Ep. 21.mp4", false, false, false, 1, ~U[2024-10-03 14:00:34Z], ~U[2026-04-17 00:18:48Z], ~U[2026-04-17 00:18:48Z], "I dette afsnit besøger jeg for første gang dyrenes beskyttelse som ambassadør. En hel dag fyldt med magiske dyr, der bare drømmer om at nogen vil have dem til at bo hos sig. Jeg havde taget dem alle sammen hvis jeg måtte for Mikkel. \n\nDu kan læse mere om dyrenes beskyttelse og deres arbejde, samt se alle de dyr der er til adoption lige her: https://www.dyrenesbeskyttelse.dk/\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En hel dag på dyreinternat | Livet på gården Ep. 21", 3, 1742, false, "UlJfAh2C0fE", "https://www.youtube.com/watch?v=UlJfAh2C0fE", "/downloads/shows/Livet på gården/Season 2024/s2024e100300 - En hel dag på dyreinternat | Livet på gården Ep. 21.mp4", false, ~U[2024-10-03 14:00:34Z]] 02:18:48.815 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=110.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:48.815 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:18:48.816 [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 [243] 02:18:48.816 [debug] Current batch of media processed. Will check again in 1000ms 02:18:49.817 [debug] Current batch of media processed. Will check again in 1000ms 02:18:50.818 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit får vi sat det sidste præg på værkstedet, og Mikkel får sin vilje og maler den skrigepink over med beige. Malene og jeg har som opgave at indrette og gøre det brugbart - og faktisk ender det med at blive virkelig godt. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1514, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e101000 - Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22.mp4", "id" => "5fUjlgO0xVU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5fUjlgO0xVU", "playlist_index" => 20, "timestamp" => 1728568809, "title" => "Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22", "upload_date" => "20241010"} 02:18:50.819 [debug] QUERY OK source="sources" db=0.2ms idle=651.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:50.819 [debug] QUERY OK source="sources" db=0.1ms idle=651.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:50.820 [debug] QUERY OK source="media_items" db=0.4ms idle=652.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-10 14:00:09Z], 3] 02:18:50.821 [debug] QUERY OK source="media_items" db=0.8ms idle=653.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit får vi sat det sidste præg på værkstedet, og Mikkel får sin vilje og maler den skrigepink over med beige. Malene og jeg har som opgave at indrette og gøre det brugbart - og faktisk ender det med at blive virkelig godt. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22", "cf1c84a9-5615-4c1e-91c7-4b0309b8917a", 3, [], 1514, false, "5fUjlgO0xVU", "https://www.youtube.com/watch?v=5fUjlgO0xVU", 20, "/downloads/shows/Livet på gården/Season 2024/s2024e101000 - Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22.mp4", false, false, false, 1, ~U[2024-10-10 14:00:09Z], ~U[2026-04-17 00:18:50Z], ~U[2026-04-17 00:18:50Z], "I dette afsnit får vi sat det sidste præg på værkstedet, og Mikkel får sin vilje og maler den skrigepink over med beige. Malene og jeg har som opgave at indrette og gøre det brugbart - og faktisk ender det med at blive virkelig godt. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22", 3, 1514, false, "5fUjlgO0xVU", "https://www.youtube.com/watch?v=5fUjlgO0xVU", "/downloads/shows/Livet på gården/Season 2024/s2024e101000 - Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22.mp4", false, ~U[2024-10-10 14:00:09Z]] 02:18:50.822 [debug] QUERY OK source="sources" db=0.3ms idle=115.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:50.822 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:18:50.823 [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 [244] 02:18:50.823 [debug] Current batch of media processed. Will check again in 1000ms 02:18:51.824 [debug] Current batch of media processed. Will check again in 1000ms 02:18:52.825 [debug] Current batch of media processed. Will check again in 1000ms 02:18:53.826 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit kommer i med igennem hele processen af hvordan jeg laver mit keramik.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1892, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e101700 - Lav keramik med mig - fra start til slut | Livet på gården Ep. 23.mp4", "id" => "1FSZw5q8Zaw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1FSZw5q8Zaw", "playlist_index" => 21, "timestamp" => 1729173604, "title" => "Lav keramik med mig - fra start til slut | Livet på gården Ep. 23", "upload_date" => "20241017"} 02:18:53.827 [debug] QUERY OK source="sources" db=0.5ms idle=1659.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:53.828 [debug] QUERY OK source="sources" db=0.9ms idle=1660.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:53.831 [debug] QUERY OK source="media_items" db=1.9ms idle=1661.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-17 14:00:04Z], 3] 02:18:53.832 [debug] QUERY OK source="media_items" db=0.9ms idle=1122.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i med igennem hele processen af hvordan jeg laver mit keramik.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Lav keramik med mig - fra start til slut | Livet på gården Ep. 23", "3dbe6939-5a39-4f1e-a83c-809ec1324440", 3, [], 1892, false, "1FSZw5q8Zaw", "https://www.youtube.com/watch?v=1FSZw5q8Zaw", 21, "/downloads/shows/Livet på gården/Season 2024/s2024e101700 - Lav keramik med mig - fra start til slut | Livet på gården Ep. 23.mp4", false, false, false, 1, ~U[2024-10-17 14:00:04Z], ~U[2026-04-17 00:18:53Z], ~U[2026-04-17 00:18:53Z], "I dette afsnit kommer i med igennem hele processen af hvordan jeg laver mit keramik.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Lav keramik med mig - fra start til slut | Livet på gården Ep. 23", 3, 1892, false, "1FSZw5q8Zaw", "https://www.youtube.com/watch?v=1FSZw5q8Zaw", "/downloads/shows/Livet på gården/Season 2024/s2024e101700 - Lav keramik med mig - fra start til slut | Livet på gården Ep. 23.mp4", false, ~U[2024-10-17 14:00:04Z]] 02:18:53.833 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=122.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:53.835 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=6.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:18:53.836 [debug] QUERY OK source="media_items" db=0.6ms 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 [245] 02:18:53.836 [debug] Current batch of media processed. Will check again in 1000ms 02:18:54.837 [debug] Current batch of media processed. Will check again in 1000ms 02:18:55.838 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er Felix på besøg og hjælper til med at tømme keramikovnen, vores store orpington skrukker og køkkenhaven er begyndt at give grøntsager - dog meget sparsomt, da sommeren i år har været fyldt med køkkenhave-fjender. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 2101, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e102400 - Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24.mp4", "id" => "6vrGogQTGw8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6vrGogQTGw8", "playlist_index" => 22, "timestamp" => 1729778405, "title" => "Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24", "upload_date" => "20241024"} 02:18:55.839 [debug] QUERY OK source="sources" db=0.4ms idle=671.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:55.840 [debug] QUERY OK source="sources" db=0.2ms idle=672.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:55.840 [debug] QUERY OK source="media_items" db=0.4ms idle=672.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-24 14:00:05Z], 3] 02:18:55.842 [debug] QUERY OK source="media_items" db=0.9ms idle=673.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er Felix på besøg og hjælper til med at tømme keramikovnen, vores store orpington skrukker og køkkenhaven er begyndt at give grøntsager - dog meget sparsomt, da sommeren i år har været fyldt med køkkenhave-fjender. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24", "fba2a056-a743-4dca-8d53-38cd2bf679b5", 3, [], 2101, false, "6vrGogQTGw8", "https://www.youtube.com/watch?v=6vrGogQTGw8", 22, "/downloads/shows/Livet på gården/Season 2024/s2024e102400 - Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24.mp4", false, false, false, 1, ~U[2024-10-24 14:00:05Z], ~U[2026-04-17 00:18:55Z], ~U[2026-04-17 00:18:55Z], "I dette afsnit er Felix på besøg og hjælper til med at tømme keramikovnen, vores store orpington skrukker og køkkenhaven er begyndt at give grøntsager - dog meget sparsomt, da sommeren i år har været fyldt med køkkenhave-fjender. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24", 3, 2101, false, "6vrGogQTGw8", "https://www.youtube.com/watch?v=6vrGogQTGw8", "/downloads/shows/Livet på gården/Season 2024/s2024e102400 - Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24.mp4", false, ~U[2024-10-24 14:00:05Z]] 02:18:55.842 [debug] QUERY OK source="sources" db=0.3ms idle=129.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:55.843 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:18:55.844 [debug] QUERY OK source="media_items" db=0.3ms 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 [246] 02:18:55.844 [debug] Current batch of media processed. Will check again in 1000ms 02:18:56.844 [debug] Current batch of media processed. Will check again in 1000ms 02:18:57.845 [debug] Current batch of media processed. Will check again in 1000ms 02:18:58.847 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Vi skal være forældre ❤️\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1195, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e102600 - Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit).mp4", "id" => "fszG4EUNQSw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fszG4EUNQSw", "playlist_index" => 23, "timestamp" => 1729954642, "title" => "Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit)", "upload_date" => "20241026"} 02:18:58.847 [debug] QUERY OK source="sources" db=0.2ms idle=1679.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:18:58.848 [debug] QUERY OK source="sources" db=0.1ms idle=1680.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:58.850 [debug] QUERY OK source="media_items" db=1.7ms idle=1680.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-26 14:57:22Z], 3] 02:18:58.851 [debug] QUERY OK source="media_items" db=0.8ms idle=1134.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vi skal være forældre ❤️\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit)", "bd3ca5e5-a225-4bdd-a802-a1c084130fe2", 3, [], 1195, false, "fszG4EUNQSw", "https://www.youtube.com/watch?v=fszG4EUNQSw", 23, "/downloads/shows/Livet på gården/Season 2024/s2024e102600 - Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit).mp4", false, false, false, 1, ~U[2024-10-26 14:57:22Z], ~U[2026-04-17 00:18:58Z], ~U[2026-04-17 00:18:58Z], "Vi skal være forældre ❤️\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit)", 3, 1195, false, "fszG4EUNQSw", "https://www.youtube.com/watch?v=fszG4EUNQSw", "/downloads/shows/Livet på gården/Season 2024/s2024e102600 - Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit).mp4", false, ~U[2024-10-26 14:57:22Z]] 02:18:58.852 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=134.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:18:58.854 [debug] QUERY OK source="media_profiles" db=1.0ms 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] 02:18:58.855 [debug] QUERY OK source="media_items" db=0.3ms idle=6.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [247] 02:18:58.855 [debug] Current batch of media processed. Will check again in 1000ms 02:18:59.856 [debug] Current batch of media processed. Will check again in 1000ms 02:19:00.271 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:19:00.857 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video fortæller vi mange af dem vi elsker at vi skal være forældre!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 845, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e103100 - Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26.mp4", "id" => "knLNbZN-U8I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=knLNbZN-U8I", "playlist_index" => 24, "timestamp" => 1730386862, "title" => "Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26", "upload_date" => "20241031"} 02:19:00.858 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=690.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:00.858 [debug] QUERY OK source="sources" db=0.1ms idle=691.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:00.860 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=691.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-31 15:01:02Z], 3] 02:19:00.861 [debug] QUERY OK source="media_items" db=0.7ms idle=588.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video fortæller vi mange af dem vi elsker at vi skal være forældre!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26", "83160e4b-5fd0-424e-89dc-74f43250d764", 3, [], 845, false, "knLNbZN-U8I", "https://www.youtube.com/watch?v=knLNbZN-U8I", 24, "/downloads/shows/Livet på gården/Season 2024/s2024e103100 - Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26.mp4", false, false, false, 1, ~U[2024-10-31 15:01:02Z], ~U[2026-04-17 00:19:00Z], ~U[2026-04-17 00:19:00Z], "I denne video fortæller vi mange af dem vi elsker at vi skal være forældre!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26", 3, 845, false, "knLNbZN-U8I", "https://www.youtube.com/watch?v=knLNbZN-U8I", "/downloads/shows/Livet på gården/Season 2024/s2024e103100 - Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26.mp4", false, ~U[2024-10-31 15:01:02Z]] 02:19:00.861 [debug] QUERY OK source="sources" db=0.1ms idle=142.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:00.862 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:00.862 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [248] 02:19:00.862 [debug] Current batch of media processed. Will check again in 1000ms 02:19:01.863 [debug] Current batch of media processed. Will check again in 1000ms 02:19:02.114 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:02.864 [debug] Current batch of media processed. Will check again in 1000ms 02:19:03.865 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er jeg kommet til at købe nye høns igen, fordi 21 ikke var nok, og Mikkel henter dem med mig. Vores ene gris er blevet døv, og så er der fuld gang i den, i keramik værkstedet med pat-kopper og ovntømning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1621, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e110700 - Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27.mp4", "id" => "JyiMi5ofXPw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JyiMi5ofXPw", "playlist_index" => 25, "timestamp" => 1730991619, "title" => "Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27", "upload_date" => "20241107"} 02:19:03.866 [debug] QUERY OK source="sources" db=0.2ms idle=1698.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:03.866 [debug] QUERY OK source="sources" db=0.1ms idle=1698.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:03.867 [debug] QUERY OK source="media_items" db=0.3ms idle=1144.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-07 15:00:19Z], 3] 02:19:03.868 [debug] QUERY OK source="media_items" db=0.7ms idle=700.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er jeg kommet til at købe nye høns igen, fordi 21 ikke var nok, og Mikkel henter dem med mig. Vores ene gris er blevet døv, og så er der fuld gang i den, i keramik værkstedet med pat-kopper og ovntømning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27", "f7936b87-98c7-4e5b-9361-4545106b6d48", 3, [], 1621, false, "JyiMi5ofXPw", "https://www.youtube.com/watch?v=JyiMi5ofXPw", 25, "/downloads/shows/Livet på gården/Season 2024/s2024e110700 - Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27.mp4", false, false, false, 1, ~U[2024-11-07 15:00:19Z], ~U[2026-04-17 00:19:03Z], ~U[2026-04-17 00:19:03Z], "I dette afsnit er jeg kommet til at købe nye høns igen, fordi 21 ikke var nok, og Mikkel henter dem med mig. Vores ene gris er blevet døv, og så er der fuld gang i den, i keramik værkstedet med pat-kopper og ovntømning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27", 3, 1621, false, "JyiMi5ofXPw", "https://www.youtube.com/watch?v=JyiMi5ofXPw", "/downloads/shows/Livet på gården/Season 2024/s2024e110700 - Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27.mp4", false, ~U[2024-11-07 15:00:19Z]] 02:19:03.868 [debug] QUERY OK source="sources" db=0.1ms idle=145.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:03.869 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:03.869 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [249] 02:19:03.870 [debug] Current batch of media processed. Will check again in 1000ms 02:19:04.870 [debug] Current batch of media processed. Will check again in 1000ms 02:19:05.871 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er vi en kort tur i IKEA, pludseligt og voldsomt bliver en af vores små grise syge og må aflives - det samme få dage efter, og vi kender ikke årsagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1506, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e111400 - Døde grise og kæmpe krise | Livet på gården Ep. 28.mp4", "id" => "jEs2qt9f4cQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jEs2qt9f4cQ", "playlist_index" => 26, "timestamp" => 1731596451, "title" => "Døde grise og kæmpe krise | Livet på gården Ep. 28", "upload_date" => "20241114"} 02:19:05.872 [debug] QUERY OK source="sources" db=0.2ms idle=704.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:05.872 [debug] QUERY OK source="sources" db=0.1ms idle=705.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:05.873 [debug] QUERY OK source="media_items" db=0.3ms idle=705.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-14 15:00:51Z], 3] 02:19:05.874 [debug] QUERY OK source="media_items" db=0.7ms idle=706.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi en kort tur i IKEA, pludseligt og voldsomt bliver en af vores små grise syge og må aflives - det samme få dage efter, og vi kender ikke årsagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Døde grise og kæmpe krise | Livet på gården Ep. 28", "0547141f-2556-4d2c-840c-1d8650143700", 3, [], 1506, false, "jEs2qt9f4cQ", "https://www.youtube.com/watch?v=jEs2qt9f4cQ", 26, "/downloads/shows/Livet på gården/Season 2024/s2024e111400 - Døde grise og kæmpe krise | Livet på gården Ep. 28.mp4", false, false, false, 1, ~U[2024-11-14 15:00:51Z], ~U[2026-04-17 00:19:05Z], ~U[2026-04-17 00:19:05Z], "I dette afsnit er vi en kort tur i IKEA, pludseligt og voldsomt bliver en af vores små grise syge og må aflives - det samme få dage efter, og vi kender ikke årsagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Døde grise og kæmpe krise | Livet på gården Ep. 28", 3, 1506, false, "jEs2qt9f4cQ", "https://www.youtube.com/watch?v=jEs2qt9f4cQ", "/downloads/shows/Livet på gården/Season 2024/s2024e111400 - Døde grise og kæmpe krise | Livet på gården Ep. 28.mp4", false, ~U[2024-11-14 15:00:51Z]] 02:19:05.875 [debug] QUERY OK source="sources" db=0.1ms idle=149.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:05.875 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:05.876 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [250] 02:19:05.876 [debug] Current batch of media processed. Will check again in 1000ms 02:19:06.876 [debug] Current batch of media processed. Will check again in 1000ms 02:19:07.877 [debug] Current batch of media processed. Will check again in 1000ms 02:19:08.878 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er der en høne som er blevet syg, og er flyttet ind i stuen til Mikkel kommer hjem og må klare sagerne. Hvidløgene skal i jorden inden frosten, og så er der flytter rotter ind på loftet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1529, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e112100 - Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29.mp4", "id" => "RfFqKyedfAE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RfFqKyedfAE", "playlist_index" => 27, "timestamp" => 1732201226, "title" => "Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29", "upload_date" => "20241121"} 02:19:08.879 [debug] QUERY OK source="sources" db=0.2ms idle=1711.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:08.879 [debug] QUERY OK source="sources" db=0.1ms idle=1711.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:08.880 [debug] QUERY OK source="media_items" db=0.4ms idle=1712.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-21 15:00:26Z], 3] 02:19:08.881 [debug] QUERY OK source="media_items" db=0.8ms idle=1153.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der en høne som er blevet syg, og er flyttet ind i stuen til Mikkel kommer hjem og må klare sagerne. Hvidløgene skal i jorden inden frosten, og så er der flytter rotter ind på loftet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29", "711daada-ca7a-4271-bd90-a56d42534be2", 3, [], 1529, false, "RfFqKyedfAE", "https://www.youtube.com/watch?v=RfFqKyedfAE", 27, "/downloads/shows/Livet på gården/Season 2024/s2024e112100 - Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29.mp4", false, false, false, 1, ~U[2024-11-21 15:00:26Z], ~U[2026-04-17 00:19:08Z], ~U[2026-04-17 00:19:08Z], "I dette afsnit er der en høne som er blevet syg, og er flyttet ind i stuen til Mikkel kommer hjem og må klare sagerne. Hvidløgene skal i jorden inden frosten, og så er der flytter rotter ind på loftet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29", 3, 1529, false, "RfFqKyedfAE", "https://www.youtube.com/watch?v=RfFqKyedfAE", "/downloads/shows/Livet på gården/Season 2024/s2024e112100 - Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29.mp4", false, ~U[2024-11-21 15:00:26Z]] 02:19:08.882 [debug] QUERY OK source="sources" db=0.2ms 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", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:08.882 [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] 02:19:08.884 [debug] QUERY OK source="media_items" db=0.6ms queue=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 [251] 02:19:08.885 [debug] Current batch of media processed. Will check again in 1000ms 02:19:09.885 [debug] Current batch of media processed. Will check again in 1000ms 02:19:10.886 [debug] Current batch of media processed. Will check again in 1000ms 02:19:11.887 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er der endnu engang ikke held ved grisene. Vores elskede Connie har fået en stor byld og er generelt svag. Rotterne har invarderet gården - og Mikkels tanker, og så begynder vi så småt at gøre os tanker om renoveringen af overetagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1708, "filename" => "/downloads/shows/Livet på gården/Season 2024/s2024e112800 - En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30.mp4", "id" => "X73rI43iuD4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=X73rI43iuD4", "playlist_index" => 28, "timestamp" => 1732806036, "title" => "En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30", "upload_date" => "20241128"} 02:19:11.888 [debug] QUERY OK source="sources" db=0.2ms idle=1720.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:11.888 [debug] QUERY OK source="sources" db=0.1ms idle=1721.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:11.889 [debug] QUERY OK source="media_items" db=0.3ms idle=1721.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-28 15:00:36Z], 3] 02:19:11.891 [debug] QUERY OK source="media_items" db=0.9ms idle=1159.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der endnu engang ikke held ved grisene. Vores elskede Connie har fået en stor byld og er generelt svag. Rotterne har invarderet gården - og Mikkels tanker, og så begynder vi så småt at gøre os tanker om renoveringen af overetagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30", "e12c07ce-0596-4c42-9b34-f8ddeea4c182", 3, [], 1708, false, "X73rI43iuD4", "https://www.youtube.com/watch?v=X73rI43iuD4", 28, "/downloads/shows/Livet på gården/Season 2024/s2024e112800 - En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30.mp4", false, false, false, 1, ~U[2024-11-28 15:00:36Z], ~U[2026-04-17 00:19:11Z], ~U[2026-04-17 00:19:11Z], "I dette afsnit er der endnu engang ikke held ved grisene. Vores elskede Connie har fået en stor byld og er generelt svag. Rotterne har invarderet gården - og Mikkels tanker, og så begynder vi så småt at gøre os tanker om renoveringen af overetagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30", 3, 1708, false, "X73rI43iuD4", "https://www.youtube.com/watch?v=X73rI43iuD4", "/downloads/shows/Livet på gården/Season 2024/s2024e112800 - En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30.mp4", false, ~U[2024-11-28 15:00:36Z]] 02:19:11.891 [debug] QUERY OK source="sources" db=0.4ms idle=160.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:11.893 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.5ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:11.894 [debug] QUERY OK source="media_items" db=0.6ms 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 [252] 02:19:11.894 [debug] Current batch of media processed. Will check again in 1000ms 02:19:12.895 [debug] Current batch of media processed. Will check again in 1000ms 02:19:13.896 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1586, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e010200 - Vores grise stikker af | Livet på gården Ep. 31.mp4", "id" => "mdvG-5UJYRw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mdvG-5UJYRw", "playlist_index" => 29, "timestamp" => 1735830053, "title" => "Vores grise stikker af | Livet på gården Ep. 31", "upload_date" => "20250102"} 02:19:13.897 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=729.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:13.897 [debug] QUERY OK source="sources" db=0.1ms idle=729.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:13.898 [debug] QUERY OK source="media_items" db=0.3ms idle=730.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-02 15:00:53Z], 3] 02:19:13.899 [debug] QUERY OK source="media_items" db=0.7ms idle=731.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores grise stikker af | Livet på gården Ep. 31", "932691ea-7f80-4831-a4e5-f1471602c05b", 3, [], 1586, false, "mdvG-5UJYRw", "https://www.youtube.com/watch?v=mdvG-5UJYRw", 29, "/downloads/shows/Livet på gården/Season 2025/s2025e010200 - Vores grise stikker af | Livet på gården Ep. 31.mp4", false, false, false, 1, ~U[2025-01-02 15:00:53Z], ~U[2026-04-17 00:19:13Z], ~U[2026-04-17 00:19:13Z], "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores grise stikker af | Livet på gården Ep. 31", 3, 1586, false, "mdvG-5UJYRw", "https://www.youtube.com/watch?v=mdvG-5UJYRw", "/downloads/shows/Livet på gården/Season 2025/s2025e010200 - Vores grise stikker af | Livet på gården Ep. 31.mp4", false, ~U[2025-01-02 15:00:53Z]] 02:19:13.899 [debug] QUERY OK source="sources" db=0.1ms idle=166.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:13.900 [debug] QUERY OK source="media_profiles" db=0.2ms 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] 02:19:13.900 [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 [253] 02:19:13.901 [debug] Current batch of media processed. Will check again in 1000ms 02:19:14.901 [debug] Current batch of media processed. Will check again in 1000ms 02:19:15.902 [debug] Current batch of media processed. Will check again in 1000ms 02:19:16.903 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video er vi til 20 ugers scanning med en sund og rask baby, og finder ud af hvad kønnet er. Vi køber nyt spisebord, får nye æggefarver, opdager en ny hane og så har jeg nesting syndrom.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1189, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e010900 - Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32.mp4", "id" => "in68bPvRI18", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=in68bPvRI18", "playlist_index" => 30, "timestamp" => 1736434862, "title" => "Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32", "upload_date" => "20250109"} 02:19:16.904 [debug] QUERY OK source="sources" db=0.2ms idle=1736.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:16.904 [debug] QUERY OK source="sources" db=0.2ms idle=1736.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:16.905 [debug] QUERY OK source="media_items" db=0.3ms idle=1737.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-09 15:01:02Z], 3] 02:19:16.907 [debug] QUERY OK source="media_items" db=1.8ms idle=1170.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video er vi til 20 ugers scanning med en sund og rask baby, og finder ud af hvad kønnet er. Vi køber nyt spisebord, får nye æggefarver, opdager en ny hane og så har jeg nesting syndrom.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32", "be167128-82b3-418d-b5fb-fa47d877cf56", 3, [], 1189, false, "in68bPvRI18", "https://www.youtube.com/watch?v=in68bPvRI18", 30, "/downloads/shows/Livet på gården/Season 2025/s2025e010900 - Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32.mp4", false, false, false, 1, ~U[2025-01-09 15:01:02Z], ~U[2026-04-17 00:19:16Z], ~U[2026-04-17 00:19:16Z], "I denne video er vi til 20 ugers scanning med en sund og rask baby, og finder ud af hvad kønnet er. Vi køber nyt spisebord, får nye æggefarver, opdager en ny hane og så har jeg nesting syndrom.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32", 3, 1189, false, "in68bPvRI18", "https://www.youtube.com/watch?v=in68bPvRI18", "/downloads/shows/Livet på gården/Season 2025/s2025e010900 - Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32.mp4", false, ~U[2025-01-09 15:01:02Z]] 02:19:16.908 [debug] QUERY OK source="sources" db=0.1ms idle=171.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:16.908 [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] 02:19:16.909 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [254] 02:19:16.909 [debug] Current batch of media processed. Will check again in 1000ms 02:19:17.909 [debug] Current batch of media processed. Will check again in 1000ms 02:19:18.910 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne gang i livet på gården kommer i med i køkkenet. Vinteren er over os, og jeg bruger meget tid indendøre, da dyrene er i ro og naturen er i dvale. Jeg elsker at lave mad, så se med på hvad jeg spiser på en dag, samt en omgang cookie bagning. Opskriften er denne: \n\nOpskrift til ca. 35 cookies\nDu skal bruge:\n240 g blødt smør\n300 g brun farin\n100 g sukker\n2 æg\n420 g hvedemel\n2 tsk bagepulver\n1 tsk natron\n2 tsk salt\n300 g chokolade\n\nPisk smør, sukker og brun farin sammen. Tilsæt æg og pisk med.\n\nTilsæt hvedemel, natron, bagepulver og salt. Pisk sammen.\n\nHak chokolade og vend det i dejen.\n\nTænd ovnen på 200 grader varmluft.\n\nForm kugler af dejen eller brug en isske.\n\nBag i ca. 10 min, til kanterne er gyldne, men midten stadig er “flydende”. Afkøl til de har sat sig. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1320, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e011600 - Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33.mp4", "id" => "7eqGNG6x48o", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7eqGNG6x48o", "playlist_index" => 31, "timestamp" => 1737039613, "title" => "Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33", "upload_date" => "20250116"} 02:19:18.911 [debug] QUERY OK source="sources" db=0.2ms idle=743.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:18.911 [debug] QUERY OK source="sources" db=0.1ms idle=744.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:18.912 [debug] QUERY OK source="media_items" db=0.3ms idle=744.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-16 15:00:13Z], 3] 02:19:18.913 [debug] QUERY OK source="media_items" db=0.9ms idle=745.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne gang i livet på gården kommer i med i køkkenet. Vinteren er over os, og jeg bruger meget tid indendøre, da dyrene er i ro og naturen er i dvale. Jeg elsker at lave mad, så se med på hvad jeg spiser på en dag, samt en omgang cookie bagning. Opskriften er denne: \n\nOpskrift til ca. 35 cookies\nDu skal bruge:\n240 g blødt smør\n300 g brun farin\n100 g sukker\n2 æg\n420 g hvedemel\n2 tsk bagepulver\n1 tsk natron\n2 tsk salt\n300 g chokolade\n\nPisk smør, sukker og brun farin sammen. Tilsæt æg og pisk med.\n\nTilsæt hvedemel, natron, bagepulver og salt. Pisk sammen.\n\nHak chokolade og vend det i dejen.\n\nTænd ovnen på 200 grader varmluft.\n\nForm kugler af dejen eller brug en isske.\n\nBag i ca. 10 min, til kanterne er gyldne, men midten stadig er “flydende”. Afkøl til de har sat sig. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33", "56057bd5-1542-41ac-b243-ccb5b67c2618", 3, [], 1320, false, "7eqGNG6x48o", "https://www.youtube.com/watch?v=7eqGNG6x48o", 31, "/downloads/shows/Livet på gården/Season 2025/s2025e011600 - Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33.mp4", false, false, false, 1, ~U[2025-01-16 15:00:13Z], ~U[2026-04-17 00:19:18Z], ~U[2026-04-17 00:19:18Z], "Denne gang i livet på gården kommer i med i køkkenet. Vinteren er over os, og jeg bruger meget tid indendøre, da dyrene er i ro og naturen er i dvale. Jeg elsker at lave mad, så se med på hvad jeg spiser på en dag, samt en omgang cookie bagning. Opskriften er denne: \n\nOpskrift til ca. 35 cookies\nDu skal bruge:\n240 g blødt smør\n300 g brun farin\n100 g sukker\n2 æg\n420 g hvedemel\n2 tsk bagepulver\n1 tsk natron\n2 tsk salt\n300 g chokolade\n\nPisk smør, sukker og brun farin sammen. Tilsæt æg og pisk med.\n\nTilsæt hvedemel, natron, bagepulver og salt. Pisk sammen.\n\nHak chokolade og vend det i dejen.\n\nTænd ovnen på 200 grader varmluft.\n\nForm kugler af dejen eller brug en isske.\n\nBag i ca. 10 min, til kanterne er gyldne, men midten stadig er “flydende”. Afkøl til de har sat sig. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33", 3, 1320, false, "7eqGNG6x48o", "https://www.youtube.com/watch?v=7eqGNG6x48o", "/downloads/shows/Livet på gården/Season 2025/s2025e011600 - Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33.mp4", false, ~U[2025-01-16 15:00:13Z]] 02:19:18.914 [debug] QUERY OK source="sources" db=0.1ms idle=174.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:18.914 [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] 02:19:18.915 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [255] 02:19:18.915 [debug] Current batch of media processed. Will check again in 1000ms 02:19:19.916 [debug] Current batch of media processed. Will check again in 1000ms 02:19:20.917 [debug] Current batch of media processed. Will check again in 1000ms 02:19:21.918 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode kommer i med når vi forbereder og laver maden nytårsaften, som for os går stille for sig med en baby i maven og dyr der har brug for nærvær. Det nye år starter hårdt ud med strømsvigt i elhegnet, så grisene igen kan stikke af. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1554, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e012300 - Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34.mp4", "id" => "DHmTZSb2QAg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DHmTZSb2QAg", "playlist_index" => 32, "timestamp" => 1737644414, "title" => "Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34", "upload_date" => "20250123"} 02:19:21.919 [debug] QUERY OK source="sources" db=0.2ms idle=1751.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:21.919 [debug] QUERY OK source="sources" db=0.1ms idle=1751.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:21.920 [debug] QUERY OK source="media_items" db=0.3ms idle=1752.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-23 15:00:14Z], 3] 02:19:21.921 [debug] QUERY OK source="media_items" db=0.7ms idle=1178.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode kommer i med når vi forbereder og laver maden nytårsaften, som for os går stille for sig med en baby i maven og dyr der har brug for nærvær. Det nye år starter hårdt ud med strømsvigt i elhegnet, så grisene igen kan stikke af. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34", "05a760f0-34eb-4070-a0cc-c3d9ac8ac550", 3, [], 1554, false, "DHmTZSb2QAg", "https://www.youtube.com/watch?v=DHmTZSb2QAg", 32, "/downloads/shows/Livet på gården/Season 2025/s2025e012300 - Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34.mp4", false, false, false, 1, ~U[2025-01-23 15:00:14Z], ~U[2026-04-17 00:19:21Z], ~U[2026-04-17 00:19:21Z], "I denne episode kommer i med når vi forbereder og laver maden nytårsaften, som for os går stille for sig med en baby i maven og dyr der har brug for nærvær. Det nye år starter hårdt ud med strømsvigt i elhegnet, så grisene igen kan stikke af. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34", 3, 1554, false, "DHmTZSb2QAg", "https://www.youtube.com/watch?v=DHmTZSb2QAg", "/downloads/shows/Livet på gården/Season 2025/s2025e012300 - Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34.mp4", false, ~U[2025-01-23 15:00:14Z]] 02:19:21.922 [debug] QUERY OK source="sources" db=0.2ms idle=178.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:21.922 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:21.923 [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 [287] 02:19:21.923 [debug] Current batch of media processed. Will check again in 1000ms 02:19:22.923 [debug] Current batch of media processed. Will check again in 1000ms 02:19:23.924 [debug] Current batch of media processed. Will check again in 1000ms 02:19:24.925 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit bikser vi lynhurtigt en stald op til grisene, dog ikke uden problemer, da stødhegnet driller. Heldigvis kommer de på plads, og får nyt hjem som de er meget glade for. Derudover er vi så småt begyndt at shoppe til baby pigen, og har købt en barnevogn og andre sager. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1577, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e013000 - Ny grisestald og babyhaul | Livet på gården Ep. 35.mp4", "id" => "06C0dkPjHIU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=06C0dkPjHIU", "playlist_index" => 33, "timestamp" => 1738249201, "title" => "Ny grisestald og babyhaul | Livet på gården Ep. 35", "upload_date" => "20250130"} 02:19:24.926 [debug] QUERY OK source="sources" db=0.2ms idle=1758.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:24.926 [debug] QUERY OK source="sources" db=0.2ms idle=1759.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:24.927 [debug] QUERY OK source="media_items" db=0.4ms idle=1759.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-30 15:00:01Z], 3] 02:19:24.929 [debug] QUERY OK source="media_items" db=0.9ms idle=1182.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit bikser vi lynhurtigt en stald op til grisene, dog ikke uden problemer, da stødhegnet driller. Heldigvis kommer de på plads, og får nyt hjem som de er meget glade for. Derudover er vi så småt begyndt at shoppe til baby pigen, og har købt en barnevogn og andre sager. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny grisestald og babyhaul | Livet på gården Ep. 35", "9f2063ee-e4f1-48a1-a665-f07d1e0c1df6", 3, [], 1577, false, "06C0dkPjHIU", "https://www.youtube.com/watch?v=06C0dkPjHIU", 33, "/downloads/shows/Livet på gården/Season 2025/s2025e013000 - Ny grisestald og babyhaul | Livet på gården Ep. 35.mp4", false, false, false, 1, ~U[2025-01-30 15:00:01Z], ~U[2026-04-17 00:19:24Z], ~U[2026-04-17 00:19:24Z], "I dette afsnit bikser vi lynhurtigt en stald op til grisene, dog ikke uden problemer, da stødhegnet driller. Heldigvis kommer de på plads, og får nyt hjem som de er meget glade for. Derudover er vi så småt begyndt at shoppe til baby pigen, og har købt en barnevogn og andre sager. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny grisestald og babyhaul | Livet på gården Ep. 35", 3, 1577, false, "06C0dkPjHIU", "https://www.youtube.com/watch?v=06C0dkPjHIU", "/downloads/shows/Livet på gården/Season 2025/s2025e013000 - Ny grisestald og babyhaul | Livet på gården Ep. 35.mp4", false, ~U[2025-01-30 15:00:01Z]] 02:19:24.929 [debug] QUERY OK source="sources" db=0.3ms idle=183.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:24.930 [debug] QUERY OK source="media_profiles" db=0.3ms queue=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] 02:19:24.931 [debug] QUERY OK source="media_items" db=0.8ms 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 [5894] 02:19:24.932 [debug] Current batch of media processed. Will check again in 1000ms 02:19:25.932 [debug] Current batch of media processed. Will check again in 1000ms 02:19:26.933 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit kommer i med i køkkenet en helt almindelig hverdags aften hvor vi har pizza aften. Vi er hverken eksperter eller noget, men vi elsker hygger ved at lave pizza sammen. Rotterne er fortsat på færde og med sit luftgevær går Mikkel på jagt og fanger faktisk 2 rotter. Kæmpe succes!\n\nPizzadej: https://stinna.dk/aftensmad/nem-pizzadej.html\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1119, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e020600 - Pizzaaften og rottefangst | Livet på gården Ep. 36.mp4", "id" => "5VIOEvQa6qs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5VIOEvQa6qs", "playlist_index" => 34, "timestamp" => 1738854015, "title" => "Pizzaaften og rottefangst | Livet på gården Ep. 36", "upload_date" => "20250206"} 02:19:26.934 [debug] QUERY OK source="sources" db=0.2ms idle=766.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:26.934 [debug] QUERY OK source="sources" db=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" = ?) [3] 02:19:26.935 [debug] QUERY OK source="media_items" db=0.4ms idle=767.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-06 15:00:15Z], 3] 02:19:26.936 [debug] QUERY OK source="media_items" db=0.8ms idle=768.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i med i køkkenet en helt almindelig hverdags aften hvor vi har pizza aften. Vi er hverken eksperter eller noget, men vi elsker hygger ved at lave pizza sammen. Rotterne er fortsat på færde og med sit luftgevær går Mikkel på jagt og fanger faktisk 2 rotter. Kæmpe succes!\n\nPizzadej: https://stinna.dk/aftensmad/nem-pizzadej.html\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Pizzaaften og rottefangst | Livet på gården Ep. 36", "a0b8e5d8-4cbc-4b11-98e6-47ad5b105a5f", 3, [], 1119, false, "5VIOEvQa6qs", "https://www.youtube.com/watch?v=5VIOEvQa6qs", 34, "/downloads/shows/Livet på gården/Season 2025/s2025e020600 - Pizzaaften og rottefangst | Livet på gården Ep. 36.mp4", false, false, false, 1, ~U[2025-02-06 15:00:15Z], ~U[2026-04-17 00:19:26Z], ~U[2026-04-17 00:19:26Z], "I dette afsnit kommer i med i køkkenet en helt almindelig hverdags aften hvor vi har pizza aften. Vi er hverken eksperter eller noget, men vi elsker hygger ved at lave pizza sammen. Rotterne er fortsat på færde og med sit luftgevær går Mikkel på jagt og fanger faktisk 2 rotter. Kæmpe succes!\n\nPizzadej: https://stinna.dk/aftensmad/nem-pizzadej.html\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Pizzaaften og rottefangst | Livet på gården Ep. 36", 3, 1119, false, "5VIOEvQa6qs", "https://www.youtube.com/watch?v=5VIOEvQa6qs", "/downloads/shows/Livet på gården/Season 2025/s2025e020600 - Pizzaaften og rottefangst | Livet på gården Ep. 36.mp4", false, ~U[2025-02-06 15:00:15Z]] 02:19:26.937 [debug] QUERY OK source="sources" db=0.2ms idle=188.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:26.937 [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] 02:19:26.938 [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 [7183] 02:19:26.938 [debug] Current batch of media processed. Will check again in 1000ms 02:19:27.939 [debug] Current batch of media processed. Will check again in 1000ms 02:19:28.940 [debug] Current batch of media processed. Will check again in 1000ms 02:19:29.941 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh. \n\nI denne video kommer i med i løbet af mad-dag. Jeg er gravid i 3. trimester og er mere sulten end nogensinde før. Jeg spiser hvad jeg lyster og nemheden er vigtig for os lige nu da jeg er udfordret i de store indkøb - så derfor får vi måltidskasser fra HelloFresh. Det er nemt, lækkert og virkelig inspirerende. \n\nDu kan lige nu spare op til 1079 kroner på dine 3 første måltidskasser fra HelloFresh og få en gratis dessert med ved hver bestilling de første 3 måneder hvis du er ny kunde - ved brug af min rabatkode KRISTINEFRESH25 eller ved at klikke på linket her: http://www.hellofresh.dk/KRISTINEFRESH25\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 964, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e021300 - Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37.mp4", "id" => "C4VNr3_SRjc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=C4VNr3_SRjc", "playlist_index" => 35, "timestamp" => 1739458815, "title" => "Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37", "upload_date" => "20250213"} 02:19:29.942 [debug] QUERY OK source="sources" db=0.2ms idle=1774.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:29.942 [debug] QUERY OK source="sources" db=0.1ms idle=1774.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:29.943 [debug] QUERY OK source="media_items" db=0.3ms idle=1775.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-13 15:00:15Z], 3] 02:19:29.944 [debug] QUERY OK source="media_items" db=0.9ms idle=1193.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nI denne video kommer i med i løbet af mad-dag. Jeg er gravid i 3. trimester og er mere sulten end nogensinde før. Jeg spiser hvad jeg lyster og nemheden er vigtig for os lige nu da jeg er udfordret i de store indkøb - så derfor får vi måltidskasser fra HelloFresh. Det er nemt, lækkert og virkelig inspirerende. \n\nDu kan lige nu spare op til 1079 kroner på dine 3 første måltidskasser fra HelloFresh og få en gratis dessert med ved hver bestilling de første 3 måneder hvis du er ny kunde - ved brug af min rabatkode KRISTINEFRESH25 eller ved at klikke på linket her: http://www.hellofresh.dk/KRISTINEFRESH25\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37", "fa67a1fc-2853-43ed-89ab-d4f0dbb72b28", 3, [], 964, false, "C4VNr3_SRjc", "https://www.youtube.com/watch?v=C4VNr3_SRjc", 35, "/downloads/shows/Livet på gården/Season 2025/s2025e021300 - Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37.mp4", false, false, false, 1, ~U[2025-02-13 15:00:15Z], ~U[2026-04-17 00:19:29Z], ~U[2026-04-17 00:19:29Z], "Denne video indeholder reklame for HelloFresh. \n\nI denne video kommer i med i løbet af mad-dag. Jeg er gravid i 3. trimester og er mere sulten end nogensinde før. Jeg spiser hvad jeg lyster og nemheden er vigtig for os lige nu da jeg er udfordret i de store indkøb - så derfor får vi måltidskasser fra HelloFresh. Det er nemt, lækkert og virkelig inspirerende. \n\nDu kan lige nu spare op til 1079 kroner på dine 3 første måltidskasser fra HelloFresh og få en gratis dessert med ved hver bestilling de første 3 måneder hvis du er ny kunde - ved brug af min rabatkode KRISTINEFRESH25 eller ved at klikke på linket her: http://www.hellofresh.dk/KRISTINEFRESH25\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37", 3, 964, false, "C4VNr3_SRjc", "https://www.youtube.com/watch?v=C4VNr3_SRjc", "/downloads/shows/Livet på gården/Season 2025/s2025e021300 - Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37.mp4", false, ~U[2025-02-13 15:00:15Z]] 02:19:29.945 [debug] QUERY OK source="sources" db=0.1ms idle=193.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:29.945 [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] 02:19:29.946 [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 [8385] 02:19:29.946 [debug] Current batch of media processed. Will check again in 1000ms 02:19:30.947 [debug] Current batch of media processed. Will check again in 1000ms 02:19:31.948 [debug] Current batch of media processed. Will check again in 1000ms 02:19:32.115 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:19:32.949 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode er der igen igen gang i rotterne, og vi beslutter os for at rydde hønsehus for sager og flytte æggestationen. Willy har haft en byld der er sprunget, og må akut til dyrelægen - og så giver jeg en update på hvordan det går både med mig og graviditeten.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1364, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e022000 - En skæv kat og en graviditetsupdate | Livet på gården Ep. 38.mp4", "id" => "y7cv58JT-FI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=y7cv58JT-FI", "playlist_index" => 36, "timestamp" => 1740063685, "title" => "En skæv kat og en graviditetsupdate | Livet på gården Ep. 38", "upload_date" => "20250220"} 02:19:32.951 [debug] QUERY OK source="sources" db=1.0ms queue=0.2ms idle=1782.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:32.953 [debug] QUERY OK source="sources" db=1.6ms queue=0.1ms idle=1784.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:32.956 [debug] QUERY OK source="media_items" db=2.1ms idle=1199.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-20 15:01:25Z], 3] 02:19:32.960 [debug] QUERY OK source="media_items" db=3.1ms idle=842.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode er der igen igen gang i rotterne, og vi beslutter os for at rydde hønsehus for sager og flytte æggestationen. Willy har haft en byld der er sprunget, og må akut til dyrelægen - og så giver jeg en update på hvordan det går både med mig og graviditeten.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En skæv kat og en graviditetsupdate | Livet på gården Ep. 38", "0fca9ce7-aa69-44e3-915f-2360c1e00439", 3, [], 1364, false, "y7cv58JT-FI", "https://www.youtube.com/watch?v=y7cv58JT-FI", 36, "/downloads/shows/Livet på gården/Season 2025/s2025e022000 - En skæv kat og en graviditetsupdate | Livet på gården Ep. 38.mp4", false, false, false, 1, ~U[2025-02-20 15:01:25Z], ~U[2026-04-17 00:19:32Z], ~U[2026-04-17 00:19:32Z], "I denne episode er der igen igen gang i rotterne, og vi beslutter os for at rydde hønsehus for sager og flytte æggestationen. Willy har haft en byld der er sprunget, og må akut til dyrelægen - og så giver jeg en update på hvordan det går både med mig og graviditeten.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En skæv kat og en graviditetsupdate | Livet på gården Ep. 38", 3, 1364, false, "y7cv58JT-FI", "https://www.youtube.com/watch?v=y7cv58JT-FI", "/downloads/shows/Livet på gården/Season 2025/s2025e022000 - En skæv kat og en graviditetsupdate | Livet på gården Ep. 38.mp4", false, ~U[2025-02-20 15:01:25Z]] 02:19:32.962 [debug] QUERY OK source="sources" db=1.0ms queue=0.4ms idle=206.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:32.965 [debug] QUERY OK source="media_profiles" db=1.6ms idle=11.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:32.967 [debug] QUERY OK source="media_items" db=1.7ms idle=11.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 [9710] 02:19:32.968 [debug] Current batch of media processed. Will check again in 1000ms 02:19:33.969 [debug] Current batch of media processed. Will check again in 1000ms 02:19:34.970 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården handler jeg ind til ugens madplan og så bruger vi en helt fantastisk og rolig dag udenfor. Mikkel får ordnet brænde og vi forbereder os så småt på foråret - for inden vi aner det holder Mikkel fri, for at nå så meget renovering af overetagen som muligt inden baby kommer.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1194, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e030600 - Indkøbshaul og forår i luften | Livet på gården Ep. 39.mp4", "id" => "lZWB5QR4wPQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lZWB5QR4wPQ", "playlist_index" => 37, "timestamp" => 1741273266, "title" => "Indkøbshaul og forår i luften | Livet på gården Ep. 39", "upload_date" => "20250306"} 02:19:34.972 [debug] QUERY OK source="sources" db=1.0ms idle=803.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:34.972 [debug] QUERY OK source="sources" db=0.2ms idle=804.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:34.973 [debug] QUERY OK source="media_items" db=0.5ms idle=805.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-06 15:01:06Z], 3] 02:19:34.975 [debug] QUERY OK source="media_items" db=1.0ms idle=806.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården handler jeg ind til ugens madplan og så bruger vi en helt fantastisk og rolig dag udenfor. Mikkel får ordnet brænde og vi forbereder os så småt på foråret - for inden vi aner det holder Mikkel fri, for at nå så meget renovering af overetagen som muligt inden baby kommer.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indkøbshaul og forår i luften | Livet på gården Ep. 39", "35aeecc3-3310-49ef-bef4-9fbeb278c50b", 3, [], 1194, false, "lZWB5QR4wPQ", "https://www.youtube.com/watch?v=lZWB5QR4wPQ", 37, "/downloads/shows/Livet på gården/Season 2025/s2025e030600 - Indkøbshaul og forår i luften | Livet på gården Ep. 39.mp4", false, false, false, 1, ~U[2025-03-06 15:01:06Z], ~U[2026-04-17 00:19:34Z], ~U[2026-04-17 00:19:34Z], "I dette afsnit af livet på gården handler jeg ind til ugens madplan og så bruger vi en helt fantastisk og rolig dag udenfor. Mikkel får ordnet brænde og vi forbereder os så småt på foråret - for inden vi aner det holder Mikkel fri, for at nå så meget renovering af overetagen som muligt inden baby kommer.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indkøbshaul og forår i luften | Livet på gården Ep. 39", 3, 1194, false, "lZWB5QR4wPQ", "https://www.youtube.com/watch?v=lZWB5QR4wPQ", "/downloads/shows/Livet på gården/Season 2025/s2025e030600 - Indkøbshaul og forår i luften | Livet på gården Ep. 39.mp4", false, ~U[2025-03-06 15:01:06Z]] 02:19:34.975 [debug] QUERY OK source="sources" db=0.3ms idle=217.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:34.976 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:34.976 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13149] 02:19:34.977 [debug] Current batch of media processed. Will check again in 1000ms 02:19:35.977 [debug] Current batch of media processed. Will check again in 1000ms 02:19:36.978 [debug] Current batch of media processed. Will check again in 1000ms 02:19:37.979 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården tager jeg jer med ind i en tankestrøm på en af de svære dage. Hønsedamerne er endeligt begyndt at lægge æg, så det giver mening og så er mine forældre på besøg, og der sker som altid en masse. Jeg får endelig en fryser indenfor og så sætter min far og Mikkel en midlertidig trappe op, så vi så småt kan begynde på overetagen!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1167, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e031300 - En træt krop og en trappe til overetagen | Livet på gården Ep. 40.mp4", "id" => "Ok2_GV07ZBQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ok2_GV07ZBQ", "playlist_index" => 38, "timestamp" => 1741878023, "title" => "En træt krop og en trappe til overetagen | Livet på gården Ep. 40", "upload_date" => "20250313"} 02:19:37.980 [debug] QUERY OK source="sources" db=0.2ms idle=1812.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:37.980 [debug] QUERY OK source="sources" db=0.2ms idle=1813.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:37.981 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1813.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-13 15:00:23Z], 3] 02:19:37.983 [debug] QUERY OK source="media_items" db=0.8ms idle=1220.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården tager jeg jer med ind i en tankestrøm på en af de svære dage. Hønsedamerne er endeligt begyndt at lægge æg, så det giver mening og så er mine forældre på besøg, og der sker som altid en masse. Jeg får endelig en fryser indenfor og så sætter min far og Mikkel en midlertidig trappe op, så vi så småt kan begynde på overetagen!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En træt krop og en trappe til overetagen | Livet på gården Ep. 40", "0266d754-cfe7-4e1e-83af-8b0e9dfc857d", 3, [], 1167, false, "Ok2_GV07ZBQ", "https://www.youtube.com/watch?v=Ok2_GV07ZBQ", 38, "/downloads/shows/Livet på gården/Season 2025/s2025e031300 - En træt krop og en trappe til overetagen | Livet på gården Ep. 40.mp4", false, false, false, 1, ~U[2025-03-13 15:00:23Z], ~U[2026-04-17 00:19:37Z], ~U[2026-04-17 00:19:37Z], "I dette afsnit af livet på gården tager jeg jer med ind i en tankestrøm på en af de svære dage. Hønsedamerne er endeligt begyndt at lægge æg, så det giver mening og så er mine forældre på besøg, og der sker som altid en masse. Jeg får endelig en fryser indenfor og så sætter min far og Mikkel en midlertidig trappe op, så vi så småt kan begynde på overetagen!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En træt krop og en trappe til overetagen | Livet på gården Ep. 40", 3, 1167, false, "Ok2_GV07ZBQ", "https://www.youtube.com/watch?v=Ok2_GV07ZBQ", "/downloads/shows/Livet på gården/Season 2025/s2025e031300 - En træt krop og en trappe til overetagen | Livet på gården Ep. 40.mp4", false, ~U[2025-03-13 15:00:23Z]] 02:19:37.983 [debug] QUERY OK source="sources" db=0.1ms idle=219.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:37.983 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:37.984 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [15018] 02:19:37.984 [debug] Current batch of media processed. Will check again in 1000ms 02:19:38.985 [debug] Current batch of media processed. Will check again in 1000ms 02:19:39.986 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Der er sket meget siden sidst - jeg har født! Men inden da filmede jeg en masse gode sager, som jeg ikke synes i skal gå glip af. Blandt andet at vi er ramt af nesting syndrom og pludselig må have nye møbler og gardiner - og udenfor er Mikkel som altid i fuld gang - med bål og klargøring af drivhus. Pænt sidder jeg meget tyk og træt og kigger på imens. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1161, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e050800 - En baby og nesting mode | Livet på gården Ep. 41.mp4", "id" => "_dr97qz8fXE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_dr97qz8fXE", "playlist_index" => 39, "timestamp" => 1746712848, "title" => "En baby og nesting mode | Livet på gården Ep. 41", "upload_date" => "20250508"} 02:19:39.987 [debug] QUERY OK source="sources" db=0.3ms idle=819.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:39.987 [debug] QUERY OK source="sources" db=0.2ms idle=820.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:39.988 [debug] QUERY OK source="media_items" db=0.4ms idle=820.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-08 14:00:48Z], 3] 02:19:39.990 [debug] QUERY OK source="media_items" db=0.9ms idle=821.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Der er sket meget siden sidst - jeg har født! Men inden da filmede jeg en masse gode sager, som jeg ikke synes i skal gå glip af. Blandt andet at vi er ramt af nesting syndrom og pludselig må have nye møbler og gardiner - og udenfor er Mikkel som altid i fuld gang - med bål og klargøring af drivhus. Pænt sidder jeg meget tyk og træt og kigger på imens. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En baby og nesting mode | Livet på gården Ep. 41", "41cc3596-c3f1-4ec1-8a0b-a32fbba08474", 3, [], 1161, false, "_dr97qz8fXE", "https://www.youtube.com/watch?v=_dr97qz8fXE", 39, "/downloads/shows/Livet på gården/Season 2025/s2025e050800 - En baby og nesting mode | Livet på gården Ep. 41.mp4", false, false, false, 1, ~U[2025-05-08 14:00:48Z], ~U[2026-04-17 00:19:39Z], ~U[2026-04-17 00:19:39Z], "Der er sket meget siden sidst - jeg har født! Men inden da filmede jeg en masse gode sager, som jeg ikke synes i skal gå glip af. Blandt andet at vi er ramt af nesting syndrom og pludselig må have nye møbler og gardiner - og udenfor er Mikkel som altid i fuld gang - med bål og klargøring af drivhus. Pænt sidder jeg meget tyk og træt og kigger på imens. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En baby og nesting mode | Livet på gården Ep. 41", 3, 1161, false, "_dr97qz8fXE", "https://www.youtube.com/watch?v=_dr97qz8fXE", "/downloads/shows/Livet på gården/Season 2025/s2025e050800 - En baby og nesting mode | Livet på gården Ep. 41.mp4", false, ~U[2025-05-08 14:00:48Z]] 02:19:39.990 [debug] QUERY OK source="sources" db=0.2ms idle=224.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:39.990 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:39.991 [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 [31596] 02:19:39.991 [debug] Current batch of media processed. Will check again in 1000ms 02:19:40.992 [debug] Current batch of media processed. Will check again in 1000ms 02:19:41.993 [debug] Current batch of media processed. Will check again in 1000ms 02:19:42.994 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit handler det om knækbrød og køkkentid og rotter. Og så tager jeg en snak om grisene og hønsene, jeg er nemlig kommet i tvivl om det giver mening økonomisk at have grise som alligevel ikke bliver slagteklar forløbig. Hønsene vender vi også. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1565, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e051500 - Knækbrød og en snak om økonomien | Livet på gården Ep. 42.mp4", "id" => "XyfY9KQlii8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XyfY9KQlii8", "playlist_index" => 40, "timestamp" => 1747317649, "title" => "Knækbrød og en snak om økonomien | Livet på gården Ep. 42", "upload_date" => "20250515"} 02:19:42.995 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1827.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:42.995 [debug] QUERY OK source="sources" db=0.1ms idle=1827.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:42.996 [debug] QUERY OK source="media_items" db=0.3ms idle=1828.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-15 14:00:49Z], 3] 02:19:42.997 [debug] QUERY OK source="media_items" db=0.8ms idle=1228.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit handler det om knækbrød og køkkentid og rotter. Og så tager jeg en snak om grisene og hønsene, jeg er nemlig kommet i tvivl om det giver mening økonomisk at have grise som alligevel ikke bliver slagteklar forløbig. Hønsene vender vi også. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Knækbrød og en snak om økonomien | Livet på gården Ep. 42", "c8b9dfa4-ebd0-42d9-87cf-f636003ce5ad", 3, [], 1565, false, "XyfY9KQlii8", "https://www.youtube.com/watch?v=XyfY9KQlii8", 40, "/downloads/shows/Livet på gården/Season 2025/s2025e051500 - Knækbrød og en snak om økonomien | Livet på gården Ep. 42.mp4", false, false, false, 1, ~U[2025-05-15 14:00:49Z], ~U[2026-04-17 00:19:42Z], ~U[2026-04-17 00:19:42Z], "I dette afsnit handler det om knækbrød og køkkentid og rotter. Og så tager jeg en snak om grisene og hønsene, jeg er nemlig kommet i tvivl om det giver mening økonomisk at have grise som alligevel ikke bliver slagteklar forløbig. Hønsene vender vi også. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Knækbrød og en snak om økonomien | Livet på gården Ep. 42", 3, 1565, false, "XyfY9KQlii8", "https://www.youtube.com/watch?v=XyfY9KQlii8", "/downloads/shows/Livet på gården/Season 2025/s2025e051500 - Knækbrød og en snak om økonomien | Livet på gården Ep. 42.mp4", false, ~U[2025-05-15 14:00:49Z]] 02:19:42.997 [debug] QUERY OK source="sources" db=0.1ms idle=228.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:42.998 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:42.998 [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 [33551] 02:19:42.998 [debug] Current batch of media processed. Will check again in 1000ms 02:19:43.999 [debug] Current batch of media processed. Will check again in 1000ms 02:19:45.000 [debug] Current batch of media processed. Will check again in 1000ms 02:19:46.001 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er der indkøbshaul, som synger på sidste vers inden jeg skal føde, da det simpelthen er for hårdt for mig at handle selv. Jeg forbereder mad til fryseren så der er godt mad til efter fødslen, og så har vi taget en stor beslutning om at pille taget af liiige kvart i termin og det sætter mine nerver på spidsen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1220, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e052200 - En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43.mp4", "id" => "4lsBpblT134", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4lsBpblT134", "playlist_index" => 41, "timestamp" => 1747922414, "title" => "En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43", "upload_date" => "20250522"} 02:19:46.002 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1834.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:46.002 [debug] QUERY OK source="sources" db=0.1ms idle=1834.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:46.003 [debug] QUERY OK source="media_items" db=0.3ms idle=1835.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-22 14:00:14Z], 3] 02:19:46.004 [debug] QUERY OK source="media_items" db=0.8ms idle=1231.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der indkøbshaul, som synger på sidste vers inden jeg skal føde, da det simpelthen er for hårdt for mig at handle selv. Jeg forbereder mad til fryseren så der er godt mad til efter fødslen, og så har vi taget en stor beslutning om at pille taget af liiige kvart i termin og det sætter mine nerver på spidsen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43", "9269686e-9f34-4694-b548-07947aa3b689", 3, [], 1220, false, "4lsBpblT134", "https://www.youtube.com/watch?v=4lsBpblT134", 41, "/downloads/shows/Livet på gården/Season 2025/s2025e052200 - En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43.mp4", false, false, false, 1, ~U[2025-05-22 14:00:14Z], ~U[2026-04-17 00:19:46Z], ~U[2026-04-17 00:19:46Z], "I dette afsnit er der indkøbshaul, som synger på sidste vers inden jeg skal føde, da det simpelthen er for hårdt for mig at handle selv. Jeg forbereder mad til fryseren så der er godt mad til efter fødslen, og så har vi taget en stor beslutning om at pille taget af liiige kvart i termin og det sætter mine nerver på spidsen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43", 3, 1220, false, "4lsBpblT134", "https://www.youtube.com/watch?v=4lsBpblT134", "/downloads/shows/Livet på gården/Season 2025/s2025e052200 - En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43.mp4", false, ~U[2025-05-22 14:00:14Z]] 02:19:46.005 [debug] QUERY OK source="sources" db=0.1ms idle=231.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:46.005 [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] 02:19:46.006 [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 [35686] 02:19:46.006 [debug] Current batch of media processed. Will check again in 1000ms 02:19:47.006 [debug] Current batch of media processed. Will check again in 1000ms 02:19:48.007 [debug] Current batch of media processed. Will check again in 1000ms 02:19:49.008 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er jeg for alvor ved at være udfordret af min graviditet, jeg er kæmpe stor med meget væske i kroppen, alt imens at Mikkel knokler i døgndrift på at lave nyt tag. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1273, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e052900 - Højgravid og et hus uden tag | Livet på gården Ep. 44.mp4", "id" => "LwViuowDYFk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LwViuowDYFk", "playlist_index" => 42, "timestamp" => 1748527235, "title" => "Højgravid og et hus uden tag | Livet på gården Ep. 44", "upload_date" => "20250529"} 02:19:49.009 [debug] QUERY OK source="sources" db=0.2ms idle=1841.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:49.009 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1841.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:49.010 [debug] QUERY OK source="media_items" db=0.4ms idle=1842.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-29 14:00:35Z], 3] 02:19:49.012 [debug] QUERY OK source="media_items" db=0.8ms idle=1234.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er jeg for alvor ved at være udfordret af min graviditet, jeg er kæmpe stor med meget væske i kroppen, alt imens at Mikkel knokler i døgndrift på at lave nyt tag. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Højgravid og et hus uden tag | Livet på gården Ep. 44", "9df917f5-6317-4e2a-9ab7-58a232e205c5", 3, [], 1273, false, "LwViuowDYFk", "https://www.youtube.com/watch?v=LwViuowDYFk", 42, "/downloads/shows/Livet på gården/Season 2025/s2025e052900 - Højgravid og et hus uden tag | Livet på gården Ep. 44.mp4", false, false, false, 1, ~U[2025-05-29 14:00:35Z], ~U[2026-04-17 00:19:49Z], ~U[2026-04-17 00:19:49Z], "I dette afsnit er jeg for alvor ved at være udfordret af min graviditet, jeg er kæmpe stor med meget væske i kroppen, alt imens at Mikkel knokler i døgndrift på at lave nyt tag. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Højgravid og et hus uden tag | Livet på gården Ep. 44", 3, 1273, false, "LwViuowDYFk", "https://www.youtube.com/watch?v=LwViuowDYFk", "/downloads/shows/Livet på gården/Season 2025/s2025e052900 - Højgravid og et hus uden tag | Livet på gården Ep. 44.mp4", false, ~U[2025-05-29 14:00:35Z]] 02:19:49.012 [debug] QUERY OK source="sources" db=0.3ms idle=235.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:49.013 [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] 02:19:49.013 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [37791] 02:19:49.013 [debug] Current batch of media processed. Will check again in 1000ms 02:19:50.014 [debug] Current batch of media processed. Will check again in 1000ms 02:19:51.015 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit tager det hele pludselig en drejning da vi en dag er ved jordemoder og mit blodtryk er alt for højt. Efter tjek kommer vi hjem og når lige at rykke grisenes indhegning, før det desværre bliver nødvendigt at indlægge mig grundet svangerskabsforgiftning og diabetes. Og pludselig ser vi ind i en igangsættelse frem for en naturlig start på fødslen.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1394, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e060500 - Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45.mp4", "id" => "QVFwXhDMin4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QVFwXhDMin4", "playlist_index" => 43, "timestamp" => 1749132041, "title" => "Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45", "upload_date" => "20250605"} 02:19:51.016 [debug] QUERY OK source="sources" db=0.2ms idle=846.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:51.016 [debug] QUERY OK source="sources" db=0.1ms idle=846.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:51.017 [debug] QUERY OK source="media_items" db=0.4ms idle=847.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-05 14:00:41Z], 3] 02:19:51.019 [debug] QUERY OK source="media_items" db=1.0ms idle=848.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager det hele pludselig en drejning da vi en dag er ved jordemoder og mit blodtryk er alt for højt. Efter tjek kommer vi hjem og når lige at rykke grisenes indhegning, før det desværre bliver nødvendigt at indlægge mig grundet svangerskabsforgiftning og diabetes. Og pludselig ser vi ind i en igangsættelse frem for en naturlig start på fødslen.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45", "50df0d75-2a3c-4af1-a052-de142e97126e", 3, [], 1394, false, "QVFwXhDMin4", "https://www.youtube.com/watch?v=QVFwXhDMin4", 43, "/downloads/shows/Livet på gården/Season 2025/s2025e060500 - Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45.mp4", false, false, false, 1, ~U[2025-06-05 14:00:41Z], ~U[2026-04-17 00:19:51Z], ~U[2026-04-17 00:19:51Z], "I dette afsnit tager det hele pludselig en drejning da vi en dag er ved jordemoder og mit blodtryk er alt for højt. Efter tjek kommer vi hjem og når lige at rykke grisenes indhegning, før det desværre bliver nødvendigt at indlægge mig grundet svangerskabsforgiftning og diabetes. Og pludselig ser vi ind i en igangsættelse frem for en naturlig start på fødslen.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45", 3, 1394, false, "QVFwXhDMin4", "https://www.youtube.com/watch?v=QVFwXhDMin4", "/downloads/shows/Livet på gården/Season 2025/s2025e060500 - Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45.mp4", false, ~U[2025-06-05 14:00:41Z]] 02:19:51.019 [debug] QUERY OK source="sources" db=0.2ms idle=240.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:51.019 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:51.020 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [39841] 02:19:51.020 [debug] Current batch of media processed. Will check again in 1000ms 02:19:52.021 [debug] Current batch of media processed. Will check again in 1000ms 02:19:53.022 [debug] Current batch of media processed. Will check again in 1000ms 02:19:54.023 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit bliver 2 endelig til 3 når vi bliver forældre til den fineste lille pige. Vi kommer hjem i god behold, jeg er stadig noget medtaget efter en hård fødsel.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1290, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e061200 - Når 2 bliver til 3 | Livet på gården Ep. 46.mp4", "id" => "-rvS4KsyD-8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-rvS4KsyD-8", "playlist_index" => 44, "timestamp" => 1749736800, "title" => "Når 2 bliver til 3 | Livet på gården Ep. 46", "upload_date" => "20250612"} 02:19:54.024 [debug] QUERY OK source="sources" db=0.2ms idle=1854.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:54.024 [debug] QUERY OK source="sources" db=0.1ms idle=1854.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:54.025 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1855.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-12 14:00:00Z], 3] 02:19:54.026 [debug] QUERY OK source="media_items" db=0.7ms idle=1244.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit bliver 2 endelig til 3 når vi bliver forældre til den fineste lille pige. Vi kommer hjem i god behold, jeg er stadig noget medtaget efter en hård fødsel.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Når 2 bliver til 3 | Livet på gården Ep. 46", "82d213b3-98da-42ca-91c7-718ff82500ad", 3, [], 1290, false, "-rvS4KsyD-8", "https://www.youtube.com/watch?v=-rvS4KsyD-8", 44, "/downloads/shows/Livet på gården/Season 2025/s2025e061200 - Når 2 bliver til 3 | Livet på gården Ep. 46.mp4", false, false, false, 1, ~U[2025-06-12 14:00:00Z], ~U[2026-04-17 00:19:54Z], ~U[2026-04-17 00:19:54Z], "I dette afsnit bliver 2 endelig til 3 når vi bliver forældre til den fineste lille pige. Vi kommer hjem i god behold, jeg er stadig noget medtaget efter en hård fødsel.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Når 2 bliver til 3 | Livet på gården Ep. 46", 3, 1290, false, "-rvS4KsyD-8", "https://www.youtube.com/watch?v=-rvS4KsyD-8", "/downloads/shows/Livet på gården/Season 2025/s2025e061200 - Når 2 bliver til 3 | Livet på gården Ep. 46.mp4", false, ~U[2025-06-12 14:00:00Z]] 02:19:54.027 [debug] QUERY OK source="sources" db=0.1ms idle=243.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:54.027 [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] 02:19:54.028 [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 [42004] 02:19:54.028 [debug] Current batch of media processed. Will check again in 1000ms 02:19:55.028 [debug] Current batch of media processed. Will check again in 1000ms 02:19:56.030 [debug] Current batch of media processed. Will check again in 1000ms 02:19:57.031 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er vi for alvor faldet på plads derhjemme igen efter en hård omgang og tilvænning efter fødslen. Vi er begge 2 på barsel og nyder det - nogle mere end andre. Som altid har Mikkel gang i alt muligt og kan ikke sidde stille. Hønsene skrukker og køkkenhaven er kaos - så alt er som det plejer på denne tid af året. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1248, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e061900 - Barselsbobbel og køkkenhave | Livet på gården Ep. 47.mp4", "id" => "L8u8ZcjpR6A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=L8u8ZcjpR6A", "playlist_index" => 45, "timestamp" => 1750341628, "title" => "Barselsbobbel og køkkenhave | Livet på gården Ep. 47", "upload_date" => "20250619"} 02:19:57.032 [debug] QUERY OK source="sources" db=0.3ms idle=1862.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:57.033 [debug] QUERY OK source="sources" db=0.5ms queue=0.3ms idle=1863.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:57.035 [debug] QUERY OK source="media_items" db=1.2ms idle=1864.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-19 14:00:28Z], 3] 02:19:57.036 [debug] QUERY OK source="media_items" db=0.9ms idle=1249.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi for alvor faldet på plads derhjemme igen efter en hård omgang og tilvænning efter fødslen. Vi er begge 2 på barsel og nyder det - nogle mere end andre. Som altid har Mikkel gang i alt muligt og kan ikke sidde stille. Hønsene skrukker og køkkenhaven er kaos - så alt er som det plejer på denne tid af året. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Barselsbobbel og køkkenhave | Livet på gården Ep. 47", "348d40c5-6ea7-464a-8e23-3eb03b9e1341", 3, [], 1248, false, "L8u8ZcjpR6A", "https://www.youtube.com/watch?v=L8u8ZcjpR6A", 45, "/downloads/shows/Livet på gården/Season 2025/s2025e061900 - Barselsbobbel og køkkenhave | Livet på gården Ep. 47.mp4", false, false, false, 1, ~U[2025-06-19 14:00:28Z], ~U[2026-04-17 00:19:57Z], ~U[2026-04-17 00:19:57Z], "I dette afsnit er vi for alvor faldet på plads derhjemme igen efter en hård omgang og tilvænning efter fødslen. Vi er begge 2 på barsel og nyder det - nogle mere end andre. Som altid har Mikkel gang i alt muligt og kan ikke sidde stille. Hønsene skrukker og køkkenhaven er kaos - så alt er som det plejer på denne tid af året. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Barselsbobbel og køkkenhave | Livet på gården Ep. 47", 3, 1248, false, "L8u8ZcjpR6A", "https://www.youtube.com/watch?v=L8u8ZcjpR6A", "/downloads/shows/Livet på gården/Season 2025/s2025e061900 - Barselsbobbel og køkkenhave | Livet på gården Ep. 47.mp4", false, ~U[2025-06-19 14:00:28Z]] 02:19:57.037 [debug] QUERY OK source="sources" db=0.2ms idle=249.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:57.037 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:57.038 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [44155] 02:19:57.038 [debug] Current batch of media processed. Will check again in 1000ms 02:19:58.039 [debug] Current batch of media processed. Will check again in 1000ms 02:19:59.040 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for Segway Navimow | I dette afsnit er vi kommet i haven, fordi vi har fået intet mindre end en enormt fancy robotplæneklipper - og selvom Mikkel er meget glad for sin havetraktor, så er han altså ikke til at styre. \n\nLæs mere om plæneklipperen her: http://bit.ly/4lwNXrf\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 885, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e062600 - Ny plæneklipper og en glad mand | Livet på gården Ep. 48.mp4", "id" => "W_VQNTe2uV0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=W_VQNTe2uV0", "playlist_index" => 46, "timestamp" => 1750946446, "title" => "Ny plæneklipper og en glad mand | Livet på gården Ep. 48", "upload_date" => "20250626"} 02:19:59.041 [debug] QUERY OK source="sources" db=0.2ms idle=871.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:19:59.041 [debug] QUERY OK source="sources" db=0.1ms idle=872.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:59.042 [debug] QUERY OK source="media_items" db=0.3ms idle=872.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-26 14:00:46Z], 3] 02:19:59.045 [debug] QUERY OK source="media_items" db=2.3ms idle=873.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for Segway Navimow | I dette afsnit er vi kommet i haven, fordi vi har fået intet mindre end en enormt fancy robotplæneklipper - og selvom Mikkel er meget glad for sin havetraktor, så er han altså ikke til at styre. \n\nLæs mere om plæneklipperen her: http://bit.ly/4lwNXrf\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny plæneklipper og en glad mand | Livet på gården Ep. 48", "5e6c0bc2-8048-4495-92b8-3830b18a1e7a", 3, [], 885, false, "W_VQNTe2uV0", "https://www.youtube.com/watch?v=W_VQNTe2uV0", 46, "/downloads/shows/Livet på gården/Season 2025/s2025e062600 - Ny plæneklipper og en glad mand | Livet på gården Ep. 48.mp4", false, false, false, 1, ~U[2025-06-26 14:00:46Z], ~U[2026-04-17 00:19:59Z], ~U[2026-04-17 00:19:59Z], "Denne video indeholder reklame for Segway Navimow | I dette afsnit er vi kommet i haven, fordi vi har fået intet mindre end en enormt fancy robotplæneklipper - og selvom Mikkel er meget glad for sin havetraktor, så er han altså ikke til at styre. \n\nLæs mere om plæneklipperen her: http://bit.ly/4lwNXrf\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny plæneklipper og en glad mand | Livet på gården Ep. 48", 3, 885, false, "W_VQNTe2uV0", "https://www.youtube.com/watch?v=W_VQNTe2uV0", "/downloads/shows/Livet på gården/Season 2025/s2025e062600 - Ny plæneklipper og en glad mand | Livet på gården Ep. 48.mp4", false, ~U[2025-06-26 14:00:46Z]] 02:19:59.045 [debug] QUERY OK source="sources" db=0.1ms idle=256.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:19:59.046 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:19:59.046 [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 [46349] 02:19:59.046 [debug] Current batch of media processed. Will check again in 1000ms 02:20:00.049 [debug] Current batch of media processed. Will check again in 1000ms 02:20:00.272 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:20:01.050 [debug] Current batch of media processed. Will check again in 1000ms 02:20:02.051 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er det endelig blevet maj og tid til at sætte tomater i drivhuset. I år er de købt, men de får samme start som mine tomater altid gør. Jeg kommer med mine bedste tips og tricks. Og så tager vi en snak om byggeriet og alle vores sommer planer. Mikkel får travlt, som altid. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1455, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e070300 - Tomater og byggemøde | Livet på gården Ep. 49.mp4", "id" => "LOW7BsM3muw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LOW7BsM3muw", "playlist_index" => 47, "timestamp" => 1751551238, "title" => "Tomater og byggemøde | Livet på gården Ep. 49", "upload_date" => "20250703"} 02:20:02.052 [debug] QUERY OK source="sources" db=0.2ms idle=1882.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:02.052 [debug] QUERY OK source="sources" db=0.1ms idle=1882.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:02.053 [debug] QUERY OK source="media_items" db=0.3ms idle=1779.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-03 14:00:38Z], 3] 02:20:02.054 [debug] QUERY OK source="media_items" db=0.9ms idle=1261.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er det endelig blevet maj og tid til at sætte tomater i drivhuset. I år er de købt, men de får samme start som mine tomater altid gør. Jeg kommer med mine bedste tips og tricks. Og så tager vi en snak om byggeriet og alle vores sommer planer. Mikkel får travlt, som altid. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tomater og byggemøde | Livet på gården Ep. 49", "12b671ab-8da0-4f9d-bb53-0c824d97f522", 3, [], 1455, false, "LOW7BsM3muw", "https://www.youtube.com/watch?v=LOW7BsM3muw", 47, "/downloads/shows/Livet på gården/Season 2025/s2025e070300 - Tomater og byggemøde | Livet på gården Ep. 49.mp4", false, false, false, 1, ~U[2025-07-03 14:00:38Z], ~U[2026-04-17 00:20:02Z], ~U[2026-04-17 00:20:02Z], "I dette afsnit er det endelig blevet maj og tid til at sætte tomater i drivhuset. I år er de købt, men de får samme start som mine tomater altid gør. Jeg kommer med mine bedste tips og tricks. Og så tager vi en snak om byggeriet og alle vores sommer planer. Mikkel får travlt, som altid. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tomater og byggemøde | Livet på gården Ep. 49", 3, 1455, false, "LOW7BsM3muw", "https://www.youtube.com/watch?v=LOW7BsM3muw", "/downloads/shows/Livet på gården/Season 2025/s2025e070300 - Tomater og byggemøde | Livet på gården Ep. 49.mp4", false, ~U[2025-07-03 14:00:38Z]] 02:20:02.055 [debug] QUERY OK source="sources" db=0.2ms idle=261.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:02.055 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:02.056 [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 [48526] 02:20:02.056 [debug] Current batch of media processed. Will check again in 1000ms 02:20:02.116 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:03.057 [debug] Current batch of media processed. Will check again in 1000ms 02:20:04.058 [debug] Current batch of media processed. Will check again in 1000ms 02:20:05.059 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit har jeg tømt keramikovnen for første gang længe, jeg er i haven for første gang længe og er så småt ved at komme tilbage til mit før. Men fødslen har sat sine spor og det tager jeg en snak om i dette afsnit. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1048, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e071000 - Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50.mp4", "id" => "eRwqESemLz0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eRwqESemLz0", "playlist_index" => 48, "timestamp" => 1752156067, "title" => "Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50", "upload_date" => "20250710"} 02:20:05.060 [debug] QUERY OK source="sources" db=0.3ms idle=1890.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:05.060 [debug] QUERY OK source="sources" db=0.2ms idle=1891.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:05.061 [debug] QUERY OK source="media_items" db=0.3ms idle=1891.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-10 14:01:07Z], 3] 02:20:05.062 [debug] QUERY OK source="media_items" db=0.7ms idle=1264.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har jeg tømt keramikovnen for første gang længe, jeg er i haven for første gang længe og er så småt ved at komme tilbage til mit før. Men fødslen har sat sine spor og det tager jeg en snak om i dette afsnit. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50", "382daa5f-94ae-45a0-a65d-d00658c4f225", 3, [], 1048, false, "eRwqESemLz0", "https://www.youtube.com/watch?v=eRwqESemLz0", 48, "/downloads/shows/Livet på gården/Season 2025/s2025e071000 - Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50.mp4", false, false, false, 1, ~U[2025-07-10 14:01:07Z], ~U[2026-04-17 00:20:05Z], ~U[2026-04-17 00:20:05Z], "I dette afsnit har jeg tømt keramikovnen for første gang længe, jeg er i haven for første gang længe og er så småt ved at komme tilbage til mit før. Men fødslen har sat sine spor og det tager jeg en snak om i dette afsnit. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50", 3, 1048, false, "eRwqESemLz0", "https://www.youtube.com/watch?v=eRwqESemLz0", "/downloads/shows/Livet på gården/Season 2025/s2025e071000 - Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50.mp4", false, ~U[2025-07-10 14:01:07Z]] 02:20:05.063 [debug] QUERY OK source="sources" db=0.1ms idle=264.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:05.063 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:05.064 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [50818] 02:20:05.064 [debug] Current batch of media processed. Will check again in 1000ms 02:20:06.064 [debug] Current batch of media processed. Will check again in 1000ms 02:20:07.065 [debug] Current batch of media processed. Will check again in 1000ms 02:20:08.066 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit sker der en hulens masse sjove sager. Mikkel er i fuld gang med at lave vejen om og bygge det nye hegn. Vores datter er med i haven i bæreselen og jeg høster rabarberen. Og så er der dømt nyt udstyr og et haul af alt det gejl vi har fået hjem!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1223, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e071700 - Vores datter er med i haven | Livet på gården Ep. 51.mp4", "id" => "N_QTztIN_uE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=N_QTztIN_uE", "playlist_index" => 49, "timestamp" => 1752760837, "title" => "Vores datter er med i haven | Livet på gården Ep. 51", "upload_date" => "20250717"} 02:20:08.067 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1897.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:08.068 [debug] QUERY OK source="sources" db=0.7ms idle=1898.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:08.069 [debug] QUERY OK source="media_items" db=0.6ms queue=0.2ms idle=1899.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-17 14:00:37Z], 3] 02:20:08.071 [debug] QUERY OK source="media_items" db=0.8ms idle=1269.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit sker der en hulens masse sjove sager. Mikkel er i fuld gang med at lave vejen om og bygge det nye hegn. Vores datter er med i haven i bæreselen og jeg høster rabarberen. Og så er der dømt nyt udstyr og et haul af alt det gejl vi har fået hjem!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores datter er med i haven | Livet på gården Ep. 51", "76e611d4-8f8d-432f-a16f-1ccec46ba171", 3, [], 1223, false, "N_QTztIN_uE", "https://www.youtube.com/watch?v=N_QTztIN_uE", 49, "/downloads/shows/Livet på gården/Season 2025/s2025e071700 - Vores datter er med i haven | Livet på gården Ep. 51.mp4", false, false, false, 1, ~U[2025-07-17 14:00:37Z], ~U[2026-04-17 00:20:08Z], ~U[2026-04-17 00:20:08Z], "I dette afsnit sker der en hulens masse sjove sager. Mikkel er i fuld gang med at lave vejen om og bygge det nye hegn. Vores datter er med i haven i bæreselen og jeg høster rabarberen. Og så er der dømt nyt udstyr og et haul af alt det gejl vi har fået hjem!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores datter er med i haven | Livet på gården Ep. 51", 3, 1223, false, "N_QTztIN_uE", "https://www.youtube.com/watch?v=N_QTztIN_uE", "/downloads/shows/Livet på gården/Season 2025/s2025e071700 - Vores datter er med i haven | Livet på gården Ep. 51.mp4", false, ~U[2025-07-17 14:00:37Z]] 02:20:08.071 [debug] QUERY OK source="sources" db=0.3ms idle=269.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:08.072 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:08.072 [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 [53152] 02:20:08.073 [debug] Current batch of media processed. Will check again in 1000ms 02:20:09.073 [debug] Current batch of media processed. Will check again in 1000ms 02:20:10.074 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video har vi en baby som er udfordret af tigerspring og dermed en træt mor. Mikkel knokler løs på taget fra morgen til aften og så sætter han lidt ord på hvad det er han har lavet, denne gang med en mikrofon - så man bedre kan høre ham, haha!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1213, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e081400 - Nyt tag på 3 dage | Livet på gården Ep. 52.mp4", "id" => "8KBS6AxLEhs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8KBS6AxLEhs", "playlist_index" => 50, "timestamp" => 1755180017, "title" => "Nyt tag på 3 dage | Livet på gården Ep. 52", "upload_date" => "20250814"} 02:20:10.075 [debug] QUERY OK source="sources" db=0.2ms idle=905.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:10.075 [debug] QUERY OK source="sources" db=0.1ms idle=905.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:10.076 [debug] QUERY OK source="media_items" db=0.3ms idle=906.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 14:00:17Z], 3] 02:20:10.077 [debug] QUERY OK source="media_items" db=0.8ms idle=907.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har vi en baby som er udfordret af tigerspring og dermed en træt mor. Mikkel knokler løs på taget fra morgen til aften og så sætter han lidt ord på hvad det er han har lavet, denne gang med en mikrofon - så man bedre kan høre ham, haha!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nyt tag på 3 dage | Livet på gården Ep. 52", "3acd236e-1489-40e7-94af-f866d2edd6e1", 3, [], 1213, false, "8KBS6AxLEhs", "https://www.youtube.com/watch?v=8KBS6AxLEhs", 50, "/downloads/shows/Livet på gården/Season 2025/s2025e081400 - Nyt tag på 3 dage | Livet på gården Ep. 52.mp4", false, false, false, 1, ~U[2025-08-14 14:00:17Z], ~U[2026-04-17 00:20:10Z], ~U[2026-04-17 00:20:10Z], "I denne video har vi en baby som er udfordret af tigerspring og dermed en træt mor. Mikkel knokler løs på taget fra morgen til aften og så sætter han lidt ord på hvad det er han har lavet, denne gang med en mikrofon - så man bedre kan høre ham, haha!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nyt tag på 3 dage | Livet på gården Ep. 52", 3, 1213, false, "8KBS6AxLEhs", "https://www.youtube.com/watch?v=8KBS6AxLEhs", "/downloads/shows/Livet på gården/Season 2025/s2025e081400 - Nyt tag på 3 dage | Livet på gården Ep. 52.mp4", false, ~U[2025-08-14 14:00:17Z]] 02:20:10.078 [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" = ?) [3] 02:20:10.078 [debug] QUERY OK source="media_profiles" db=0.2ms queue=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] 02:20:10.079 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [62172] 02:20:10.079 [debug] Current batch of media processed. Will check again in 1000ms 02:20:11.080 [debug] Current batch of media processed. Will check again in 1000ms 02:20:12.081 [debug] Current batch of media processed. Will check again in 1000ms 02:20:13.082 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit har Mikkel gang i bekæmpelsen af ukrudt, mens jeg giver mig i kast med loppehelvede i hønsehuset, som er INVARDERET! Det får den helt store tur og så er det bare at håbe at det er nok, for ellers skal jeg have anskaffet mig exholt og det er en dyr affære.. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1195, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e082100 - Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53.mp4", "id" => "xTCNmkJl7cs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xTCNmkJl7cs", "playlist_index" => 51, "timestamp" => 1755784885, "title" => "Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53", "upload_date" => "20250821"} 02:20:13.083 [debug] QUERY OK source="sources" db=0.2ms idle=1913.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:13.083 [debug] QUERY OK source="sources" db=0.1ms idle=1913.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:13.084 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1914.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-21 14:01:25Z], 3] 02:20:13.092 [debug] QUERY OK source="media_items" db=7.4ms idle=1276.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har Mikkel gang i bekæmpelsen af ukrudt, mens jeg giver mig i kast med loppehelvede i hønsehuset, som er INVARDERET! Det får den helt store tur og så er det bare at håbe at det er nok, for ellers skal jeg have anskaffet mig exholt og det er en dyr affære.. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53", "bc9bb55d-ec4c-4e80-a387-602e255297b0", 3, [], 1195, false, "xTCNmkJl7cs", "https://www.youtube.com/watch?v=xTCNmkJl7cs", 51, "/downloads/shows/Livet på gården/Season 2025/s2025e082100 - Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53.mp4", false, false, false, 1, ~U[2025-08-21 14:01:25Z], ~U[2026-04-17 00:20:13Z], ~U[2026-04-17 00:20:13Z], "I dette afsnit har Mikkel gang i bekæmpelsen af ukrudt, mens jeg giver mig i kast med loppehelvede i hønsehuset, som er INVARDERET! Det får den helt store tur og så er det bare at håbe at det er nok, for ellers skal jeg have anskaffet mig exholt og det er en dyr affære.. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53", 3, 1195, false, "xTCNmkJl7cs", "https://www.youtube.com/watch?v=xTCNmkJl7cs", "/downloads/shows/Livet på gården/Season 2025/s2025e082100 - Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53.mp4", false, ~U[2025-08-21 14:01:25Z]] 02:20:13.093 [debug] QUERY OK source="sources" db=0.2ms idle=283.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:13.093 [debug] QUERY OK source="media_profiles" db=0.2ms idle=10.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:13.094 [debug] QUERY OK source="media_items" db=0.2ms idle=10.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [63986] 02:20:13.094 [debug] Current batch of media processed. Will check again in 1000ms 02:20:14.094 [debug] Current batch of media processed. Will check again in 1000ms 02:20:15.095 [debug] Current batch of media processed. Will check again in 1000ms 02:20:16.096 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mikkel arbejder videre på taget og så tager vi en status på hønsehuset efter udrensning. Hønsene skrukker på stribe og der er semi krise over det. Malene kommer på besøg og får den store tour af køkkenhaven, vi laver mad sammen og tager en snak om hvorfor hun ikke længere arbejder hos mig.. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1652, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e082800 - Besøg af Malene og høns der skrukker | Livet på gården Ep. 54.mp4", "id" => "U_w3PIAVp40", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=U_w3PIAVp40", "playlist_index" => 52, "timestamp" => 1756389646, "title" => "Besøg af Malene og høns der skrukker | Livet på gården Ep. 54", "upload_date" => "20250828"} 02:20:16.097 [debug] QUERY OK source="sources" db=0.4ms idle=1927.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:16.098 [debug] QUERY OK source="sources" db=0.2ms idle=1928.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:16.099 [debug] QUERY OK source="media_items" db=0.8ms idle=1928.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-28 14:00:46Z], 3] 02:20:16.101 [debug] QUERY OK source="media_items" db=1.9ms idle=1287.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mikkel arbejder videre på taget og så tager vi en status på hønsehuset efter udrensning. Hønsene skrukker på stribe og der er semi krise over det. Malene kommer på besøg og får den store tour af køkkenhaven, vi laver mad sammen og tager en snak om hvorfor hun ikke længere arbejder hos mig.. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg af Malene og høns der skrukker | Livet på gården Ep. 54", "6a1ed5b7-e92d-4b6d-8908-5b19a6af6bd0", 3, [], 1652, false, "U_w3PIAVp40", "https://www.youtube.com/watch?v=U_w3PIAVp40", 52, "/downloads/shows/Livet på gården/Season 2025/s2025e082800 - Besøg af Malene og høns der skrukker | Livet på gården Ep. 54.mp4", false, false, false, 1, ~U[2025-08-28 14:00:46Z], ~U[2026-04-17 00:20:16Z], ~U[2026-04-17 00:20:16Z], "Mikkel arbejder videre på taget og så tager vi en status på hønsehuset efter udrensning. Hønsene skrukker på stribe og der er semi krise over det. Malene kommer på besøg og får den store tour af køkkenhaven, vi laver mad sammen og tager en snak om hvorfor hun ikke længere arbejder hos mig.. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg af Malene og høns der skrukker | Livet på gården Ep. 54", 3, 1652, false, "U_w3PIAVp40", "https://www.youtube.com/watch?v=U_w3PIAVp40", "/downloads/shows/Livet på gården/Season 2025/s2025e082800 - Besøg af Malene og høns der skrukker | Livet på gården Ep. 54.mp4", false, ~U[2025-08-28 14:00:46Z]] 02:20:16.102 [debug] QUERY OK source="sources" db=0.3ms idle=288.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:16.102 [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] 02:20:16.103 [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 [66408] 02:20:16.104 [debug] Current batch of media processed. Will check again in 1000ms 02:20:17.104 [debug] Current batch of media processed. Will check again in 1000ms 02:20:18.105 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh. \n\nDu kan få 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder.\nRabatkode: B2SKRISTINE\nLink: www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1265, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e080700 - Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52.mp4", "id" => "oJHte_vjoV4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oJHte_vjoV4", "playlist_index" => 53, "timestamp" => 1754575283, "title" => "Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52", "upload_date" => "20250807"} 02:20:18.106 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:18.106 [debug] QUERY OK source="sources" db=0.1ms idle=936.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:18.107 [debug] QUERY OK source="media_items" db=0.4ms idle=937.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-07 14:01:23Z], 3] 02:20:18.108 [debug] QUERY OK source="media_items" db=0.9ms idle=938.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nDu kan få 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder.\nRabatkode: B2SKRISTINE\nLink: www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52", "eb0e2cf8-caa8-4260-9581-e25e6346ca1a", 3, [], 1265, false, "oJHte_vjoV4", "https://www.youtube.com/watch?v=oJHte_vjoV4", 53, "/downloads/shows/Livet på gården/Season 2025/s2025e080700 - Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52.mp4", false, false, false, 1, ~U[2025-08-07 14:01:23Z], ~U[2026-04-17 00:20:18Z], ~U[2026-04-17 00:20:18Z], "Denne video indeholder reklame for HelloFresh. \n\nDu kan få 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder.\nRabatkode: B2SKRISTINE\nLink: www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52", 3, 1265, false, "oJHte_vjoV4", "https://www.youtube.com/watch?v=oJHte_vjoV4", "/downloads/shows/Livet på gården/Season 2025/s2025e080700 - Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52.mp4", false, ~U[2025-08-07 14:01:23Z]] 02:20:18.109 [debug] QUERY OK source="sources" db=0.2ms idle=293.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:18.109 [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] 02:20:18.110 [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 [59883] 02:20:18.110 [debug] Current batch of media processed. Will check again in 1000ms 02:20:19.112 [debug] Current batch of media processed. Will check again in 1000ms 02:20:20.113 [debug] Current batch of media processed. Will check again in 1000ms 02:20:21.114 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit kommer i for første gang med op på overetagen og ser med når Mikkel bygger den anden kvist - det er også første gang jeg er deroppe, og jeg er mildest talt oppe at ringe over hvor fedt det bliver. Felix er på besøg og med i værkstedet og så har vi taget store beslutninger om fremtiden på gården. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1396, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e090400 - Felix laver keramik og vores store beslutning | Livet på gården Ep. 55.mp4", "id" => "gbe1EwOyOKY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gbe1EwOyOKY", "playlist_index" => 54, "timestamp" => 1756994468, "title" => "Felix laver keramik og vores store beslutning | Livet på gården Ep. 55", "upload_date" => "20250904"} 02:20:21.115 [debug] QUERY OK source="sources" db=0.2ms idle=1945.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:21.115 [debug] QUERY OK source="sources" db=0.1ms idle=1945.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:21.116 [debug] QUERY OK source="media_items" db=0.5ms idle=1946.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-04 14:01:08Z], 3] 02:20:21.117 [debug] QUERY OK source="media_items" db=0.7ms idle=1299.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i for første gang med op på overetagen og ser med når Mikkel bygger den anden kvist - det er også første gang jeg er deroppe, og jeg er mildest talt oppe at ringe over hvor fedt det bliver. Felix er på besøg og med i værkstedet og så har vi taget store beslutninger om fremtiden på gården. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix laver keramik og vores store beslutning | Livet på gården Ep. 55", "e4468ef7-06a5-4d46-ae2e-95a68b6d1f75", 3, [], 1396, false, "gbe1EwOyOKY", "https://www.youtube.com/watch?v=gbe1EwOyOKY", 54, "/downloads/shows/Livet på gården/Season 2025/s2025e090400 - Felix laver keramik og vores store beslutning | Livet på gården Ep. 55.mp4", false, false, false, 1, ~U[2025-09-04 14:01:08Z], ~U[2026-04-17 00:20:21Z], ~U[2026-04-17 00:20:21Z], "I dette afsnit kommer i for første gang med op på overetagen og ser med når Mikkel bygger den anden kvist - det er også første gang jeg er deroppe, og jeg er mildest talt oppe at ringe over hvor fedt det bliver. Felix er på besøg og med i værkstedet og så har vi taget store beslutninger om fremtiden på gården. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix laver keramik og vores store beslutning | Livet på gården Ep. 55", 3, 1396, false, "gbe1EwOyOKY", "https://www.youtube.com/watch?v=gbe1EwOyOKY", "/downloads/shows/Livet på gården/Season 2025/s2025e090400 - Felix laver keramik og vores store beslutning | Livet på gården Ep. 55.mp4", false, ~U[2025-09-04 14:01:08Z]] 02:20:21.118 [debug] QUERY OK source="sources" db=0.1ms idle=298.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:21.118 [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] 02:20:21.119 [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 [68913] 02:20:21.119 [debug] Current batch of media processed. Will check again in 1000ms 02:20:22.119 [debug] Current batch of media processed. Will check again in 1000ms 02:20:23.120 [debug] Current batch of media processed. Will check again in 1000ms 02:20:24.121 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1421, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e091100 - Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56.mp4", "id" => "aPr93nvV6Sc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aPr93nvV6Sc", "playlist_index" => 55, "timestamp" => 1757599202, "title" => "Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56", "upload_date" => "20250911"} 02:20:24.122 [debug] QUERY OK source="sources" db=0.2ms idle=1952.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:24.122 [debug] QUERY OK source="sources" db=0.1ms idle=1953.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:24.123 [debug] QUERY OK source="media_items" db=0.5ms idle=1953.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-11 14:00:02Z], 3] 02:20:24.125 [debug] QUERY OK source="media_items" db=0.8ms idle=1299.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56", "d41a13f0-d142-43c6-8098-a80235a02f5f", 3, [], 1421, false, "aPr93nvV6Sc", "https://www.youtube.com/watch?v=aPr93nvV6Sc", 55, "/downloads/shows/Livet på gården/Season 2025/s2025e091100 - Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56.mp4", false, false, false, 1, ~U[2025-09-11 14:00:02Z], ~U[2026-04-17 00:20:24Z], ~U[2026-04-17 00:20:24Z], "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56", 3, 1421, false, "aPr93nvV6Sc", "https://www.youtube.com/watch?v=aPr93nvV6Sc", "/downloads/shows/Livet på gården/Season 2025/s2025e091100 - Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56.mp4", false, ~U[2025-09-11 14:00:02Z]] 02:20:24.125 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=300.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:24.126 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:24.127 [debug] QUERY OK source="media_items" db=0.5ms 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 [71436] 02:20:24.127 [debug] Current batch of media processed. Will check again in 1000ms 02:20:25.128 [debug] Current batch of media processed. Will check again in 1000ms 02:20:26.129 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1020, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e091800 - Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57.mp4", "id" => "lLuYcnLpHk8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lLuYcnLpHk8", "playlist_index" => 56, "timestamp" => 1758204394, "title" => "Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57", "upload_date" => "20250918"} 02:20:26.130 [debug] QUERY OK source="sources" db=0.2ms idle=960.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:26.130 [debug] QUERY OK source="sources" db=0.1ms idle=960.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:26.131 [debug] QUERY OK source="media_items" db=0.3ms idle=961.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-18 14:06:34Z], 3] 02:20:26.132 [debug] QUERY OK source="media_items" db=0.6ms idle=962.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57", "af9c7350-3868-4d0e-aff7-6a3334162faa", 3, [], 1020, false, "lLuYcnLpHk8", "https://www.youtube.com/watch?v=lLuYcnLpHk8", 56, "/downloads/shows/Livet på gården/Season 2025/s2025e091800 - Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57.mp4", false, false, false, 1, ~U[2025-09-18 14:06:34Z], ~U[2026-04-17 00:20:26Z], ~U[2026-04-17 00:20:26Z], "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57", 3, 1020, false, "lLuYcnLpHk8", "https://www.youtube.com/watch?v=lLuYcnLpHk8", "/downloads/shows/Livet på gården/Season 2025/s2025e091800 - Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57.mp4", false, ~U[2025-09-18 14:06:34Z]] 02:20:26.132 [debug] QUERY OK source="sources" db=0.1ms idle=304.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:26.133 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:26.133 [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 [73945] 02:20:26.133 [debug] Current batch of media processed. Will check again in 1000ms 02:20:27.134 [debug] Current batch of media processed. Will check again in 1000ms 02:20:28.135 [debug] Current batch of media processed. Will check again in 1000ms 02:20:29.136 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\nI dagens afsnit er vi i fuld gang. Jeg giver en status fra keramikken, jeg hjælper til når Mikkel sætter sig for at rive kradt og så forsøger vi os med en timelapse for første gang. Vi giver også en status på hvordan det går i hønsegården efter vi har skåret gevaldigt ned for antallet. Alt sammen i mens vores datter er i tigerspring og meget lidt vil sove.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1485, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e092500 - Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58.mp4", "id" => "rFwrB9Pe4hM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rFwrB9Pe4hM", "playlist_index" => 57, "timestamp" => 1758808893, "title" => "Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58", "upload_date" => "20250925"} 02:20:29.137 [debug] QUERY OK source="sources" db=0.2ms idle=1967.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:29.137 [debug] QUERY OK source="sources" db=0.1ms idle=1967.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:29.138 [debug] QUERY OK source="media_items" db=0.3ms idle=1968.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-25 14:01:33Z], 3] 02:20:29.139 [debug] QUERY OK source="media_items" db=0.9ms idle=1308.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\nI dagens afsnit er vi i fuld gang. Jeg giver en status fra keramikken, jeg hjælper til når Mikkel sætter sig for at rive kradt og så forsøger vi os med en timelapse for første gang. Vi giver også en status på hvordan det går i hønsegården efter vi har skåret gevaldigt ned for antallet. Alt sammen i mens vores datter er i tigerspring og meget lidt vil sove.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58", "c79458b2-3bdf-4773-9380-4251b5eca550", 3, [], 1485, false, "rFwrB9Pe4hM", "https://www.youtube.com/watch?v=rFwrB9Pe4hM", 57, "/downloads/shows/Livet på gården/Season 2025/s2025e092500 - Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58.mp4", false, false, false, 1, ~U[2025-09-25 14:01:33Z], ~U[2026-04-17 00:20:29Z], ~U[2026-04-17 00:20:29Z], "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\nI dagens afsnit er vi i fuld gang. Jeg giver en status fra keramikken, jeg hjælper til når Mikkel sætter sig for at rive kradt og så forsøger vi os med en timelapse for første gang. Vi giver også en status på hvordan det går i hønsegården efter vi har skåret gevaldigt ned for antallet. Alt sammen i mens vores datter er i tigerspring og meget lidt vil sove.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58", 3, 1485, false, "rFwrB9Pe4hM", "https://www.youtube.com/watch?v=rFwrB9Pe4hM", "/downloads/shows/Livet på gården/Season 2025/s2025e092500 - Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58.mp4", false, ~U[2025-09-25 14:01:33Z]] 02:20:29.140 [debug] QUERY OK source="sources" db=0.1ms idle=308.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:29.140 [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] 02:20:29.141 [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 [76480] 02:20:29.141 [debug] Current batch of media processed. Will check again in 1000ms 02:20:30.142 [debug] Current batch of media processed. Will check again in 1000ms 02:20:31.143 [debug] Current batch of media processed. Will check again in 1000ms 02:20:32.117 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:20:32.144 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit tager Mikkel mig med i hans store planer om både ny gårdsplads og fliselægning. Han fortsætter det sidste arbejde på kvisten og jeg trækker i arbejdstøjet og hjælper til med både byggeaffald og trimning af haven - samtidig med at vores baby fortsat sover skidt. Grisene flytter hjemmefra og jeg får sagt ordenligt farvel. Det er meget vemodigt, men også for det bedste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1641, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e100200 - Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59.mp4", "id" => "uEP1rtTb-XE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uEP1rtTb-XE", "playlist_index" => 58, "timestamp" => 1759413692, "title" => "Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59", "upload_date" => "20251002"} 02:20:32.145 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1975.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:32.146 [debug] QUERY OK source="sources" db=0.3ms idle=1976.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:32.146 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1309.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-02 14:01:32Z], 3] 02:20:32.149 [debug] QUERY OK source="media_items" db=1.6ms idle=309.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager Mikkel mig med i hans store planer om både ny gårdsplads og fliselægning. Han fortsætter det sidste arbejde på kvisten og jeg trækker i arbejdstøjet og hjælper til med både byggeaffald og trimning af haven - samtidig med at vores baby fortsat sover skidt. Grisene flytter hjemmefra og jeg får sagt ordenligt farvel. Det er meget vemodigt, men også for det bedste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59", "34de56ea-9a13-41c1-9a61-41b2d60fa25b", 3, [], 1641, false, "uEP1rtTb-XE", "https://www.youtube.com/watch?v=uEP1rtTb-XE", 58, "/downloads/shows/Livet på gården/Season 2025/s2025e100200 - Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59.mp4", false, false, false, 1, ~U[2025-10-02 14:01:32Z], ~U[2026-04-17 00:20:32Z], ~U[2026-04-17 00:20:32Z], "I dette afsnit tager Mikkel mig med i hans store planer om både ny gårdsplads og fliselægning. Han fortsætter det sidste arbejde på kvisten og jeg trækker i arbejdstøjet og hjælper til med både byggeaffald og trimning af haven - samtidig med at vores baby fortsat sover skidt. Grisene flytter hjemmefra og jeg får sagt ordenligt farvel. Det er meget vemodigt, men også for det bedste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59", 3, 1641, false, "uEP1rtTb-XE", "https://www.youtube.com/watch?v=uEP1rtTb-XE", "/downloads/shows/Livet på gården/Season 2025/s2025e100200 - Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59.mp4", false, ~U[2025-10-02 14:01:32Z]] 02:20:32.149 [debug] QUERY OK source="sources" db=0.2ms idle=32.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:32.150 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:32.151 [debug] QUERY OK source="media_items" db=0.3ms 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 [79073] 02:20:32.151 [debug] Current batch of media processed. Will check again in 1000ms 02:20:33.152 [debug] Current batch of media processed. Will check again in 1000ms 02:20:34.153 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit kører vi på ferie i en bil der aldrig har været meget fyldt og vi har endda fået ny stor bil. Jeg døjer med hæmorider og så tager vi en klassisk tur rundt med Mikkel der fortæller om alle de ting han synes der skal fikses. Vi starter dog med at rykke et gammelt hønsehus og flytte vores ATV som er gået i stykker. Vi er også en tur i vores kaos af en have, hvor det eneste der fungere er én squash plante, som til gengæld også levere GIGANTISKE squash. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1534, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e100900 - Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60.mp4", "id" => "mCkvhf9YDCk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mCkvhf9YDCk", "playlist_index" => 59, "timestamp" => 1760018475, "title" => "Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60", "upload_date" => "20251009"} 02:20:34.154 [debug] QUERY OK source="sources" db=0.2ms idle=984.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:34.154 [debug] QUERY OK source="sources" db=0.2ms 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" = ?) [3] 02:20:34.155 [debug] QUERY OK source="media_items" db=0.3ms idle=985.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-09 14:01:15Z], 3] 02:20:34.156 [debug] QUERY OK source="media_items" db=0.9ms idle=986.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kører vi på ferie i en bil der aldrig har været meget fyldt og vi har endda fået ny stor bil. Jeg døjer med hæmorider og så tager vi en klassisk tur rundt med Mikkel der fortæller om alle de ting han synes der skal fikses. Vi starter dog med at rykke et gammelt hønsehus og flytte vores ATV som er gået i stykker. Vi er også en tur i vores kaos af en have, hvor det eneste der fungere er én squash plante, som til gengæld også levere GIGANTISKE squash. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60", "26835988-e982-412a-bca9-ee57924245ba", 3, [], 1534, false, "mCkvhf9YDCk", "https://www.youtube.com/watch?v=mCkvhf9YDCk", 59, "/downloads/shows/Livet på gården/Season 2025/s2025e100900 - Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60.mp4", false, false, false, 1, ~U[2025-10-09 14:01:15Z], ~U[2026-04-17 00:20:34Z], ~U[2026-04-17 00:20:34Z], "I dette afsnit kører vi på ferie i en bil der aldrig har været meget fyldt og vi har endda fået ny stor bil. Jeg døjer med hæmorider og så tager vi en klassisk tur rundt med Mikkel der fortæller om alle de ting han synes der skal fikses. Vi starter dog med at rykke et gammelt hønsehus og flytte vores ATV som er gået i stykker. Vi er også en tur i vores kaos af en have, hvor det eneste der fungere er én squash plante, som til gengæld også levere GIGANTISKE squash. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60", 3, 1534, false, "mCkvhf9YDCk", "https://www.youtube.com/watch?v=mCkvhf9YDCk", "/downloads/shows/Livet på gården/Season 2025/s2025e100900 - Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60.mp4", false, ~U[2025-10-09 14:01:15Z]] 02:20:34.157 [debug] QUERY OK source="sources" db=0.1ms idle=316.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:34.157 [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] 02:20:34.158 [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 [81473] 02:20:34.158 [debug] Current batch of media processed. Will check again in 1000ms 02:20:35.158 [debug] Current batch of media processed. Will check again in 1000ms 02:20:36.159 [debug] Current batch of media processed. Will check again in 1000ms 02:20:37.160 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit har vi besøg af min veninde fra København fordi vi er kommet dertil hvor vi skal holde navngivningsfest for vores datter. Vi har slået det store brød op med kæmpe telt i haven og alt harald nyborgs pynt tror jeg nærmest? Derudover har Mikkel besluttet sig for at bygge sit eget gyngestativ til vores nye gynger\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1491, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e101600 - Vi gør klar til navngivningsfest | Livet på gården Ep. 61.mp4", "id" => "KMuFnD8X_To", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KMuFnD8X_To", "playlist_index" => 60, "timestamp" => 1760623235, "title" => "Vi gør klar til navngivningsfest | Livet på gården Ep. 61", "upload_date" => "20251016"} 02:20:37.161 [debug] QUERY OK source="sources" db=0.3ms idle=1991.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:37.162 [debug] QUERY OK source="sources" db=0.2ms idle=1992.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:37.162 [debug] QUERY OK source="media_items" db=0.3ms idle=1992.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-16 14:00:35Z], 3] 02:20:37.164 [debug] QUERY OK source="media_items" db=0.8ms idle=1320.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har vi besøg af min veninde fra København fordi vi er kommet dertil hvor vi skal holde navngivningsfest for vores datter. Vi har slået det store brød op med kæmpe telt i haven og alt harald nyborgs pynt tror jeg nærmest? Derudover har Mikkel besluttet sig for at bygge sit eget gyngestativ til vores nye gynger\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi gør klar til navngivningsfest | Livet på gården Ep. 61", "64e5c34d-50fc-495f-b270-884e4b00350d", 3, [], 1491, false, "KMuFnD8X_To", "https://www.youtube.com/watch?v=KMuFnD8X_To", 60, "/downloads/shows/Livet på gården/Season 2025/s2025e101600 - Vi gør klar til navngivningsfest | Livet på gården Ep. 61.mp4", false, false, false, 1, ~U[2025-10-16 14:00:35Z], ~U[2026-04-17 00:20:37Z], ~U[2026-04-17 00:20:37Z], "I dette afsnit har vi besøg af min veninde fra København fordi vi er kommet dertil hvor vi skal holde navngivningsfest for vores datter. Vi har slået det store brød op med kæmpe telt i haven og alt harald nyborgs pynt tror jeg nærmest? Derudover har Mikkel besluttet sig for at bygge sit eget gyngestativ til vores nye gynger\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi gør klar til navngivningsfest | Livet på gården Ep. 61", 3, 1491, false, "KMuFnD8X_To", "https://www.youtube.com/watch?v=KMuFnD8X_To", "/downloads/shows/Livet på gården/Season 2025/s2025e101600 - Vi gør klar til navngivningsfest | Livet på gården Ep. 61.mp4", false, ~U[2025-10-16 14:00:35Z]] 02:20:37.164 [debug] QUERY OK source="sources" db=0.1ms idle=320.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:37.164 [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] 02:20:37.165 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [84158] 02:20:37.165 [debug] Current batch of media processed. Will check again in 1000ms 02:20:38.168 [debug] Current batch of media processed. Will check again in 1000ms 02:20:39.169 [debug] Current batch of media processed. Will check again in 1000ms 02:20:40.171 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode fortsætter vi byggeriet af gyngestativet som skal stå i bunden af haven. Mikkel tegner og fortæller hvordan han laver det og jeg er på en måde blevet praktikant. Jeg er samtidig ved at forberede mig på keramiksalg den forestående weekend og det er lidt mere spændende end normalt fordi jeg denne gang fikser alt selv, eftersom Malene ikke længere er hos mig.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1384, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e102300 - Vi bygger et gyngestativ | Livet på gården Ep. 62.mp4", "id" => "aSbYAroNsjw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=aSbYAroNsjw", "playlist_index" => 61, "timestamp" => 1761228002, "title" => "Vi bygger et gyngestativ | Livet på gården Ep. 62", "upload_date" => "20251023"} 02:20:40.171 [debug] QUERY OK source="sources" db=0.3ms idle=314.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:40.172 [debug] QUERY OK source="sources" db=0.1ms idle=1.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:40.173 [debug] QUERY OK source="media_items" db=0.5ms idle=2.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 14:00:02Z], 3] 02:20:40.174 [debug] QUERY OK source="media_items" db=0.9ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode fortsætter vi byggeriet af gyngestativet som skal stå i bunden af haven. Mikkel tegner og fortæller hvordan han laver det og jeg er på en måde blevet praktikant. Jeg er samtidig ved at forberede mig på keramiksalg den forestående weekend og det er lidt mere spændende end normalt fordi jeg denne gang fikser alt selv, eftersom Malene ikke længere er hos mig.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi bygger et gyngestativ | Livet på gården Ep. 62", "a9fb874d-00cc-4bd5-a73b-8d28c4645b8a", 3, [], 1384, false, "aSbYAroNsjw", "https://www.youtube.com/watch?v=aSbYAroNsjw", 61, "/downloads/shows/Livet på gården/Season 2025/s2025e102300 - Vi bygger et gyngestativ | Livet på gården Ep. 62.mp4", false, false, false, 1, ~U[2025-10-23 14:00:02Z], ~U[2026-04-17 00:20:40Z], ~U[2026-04-17 00:20:40Z], "I denne episode fortsætter vi byggeriet af gyngestativet som skal stå i bunden af haven. Mikkel tegner og fortæller hvordan han laver det og jeg er på en måde blevet praktikant. Jeg er samtidig ved at forberede mig på keramiksalg den forestående weekend og det er lidt mere spændende end normalt fordi jeg denne gang fikser alt selv, eftersom Malene ikke længere er hos mig.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi bygger et gyngestativ | Livet på gården Ep. 62", 3, 1384, false, "aSbYAroNsjw", "https://www.youtube.com/watch?v=aSbYAroNsjw", "/downloads/shows/Livet på gården/Season 2025/s2025e102300 - Vi bygger et gyngestativ | Livet på gården Ep. 62.mp4", false, ~U[2025-10-23 14:00:02Z]] 02:20:40.175 [debug] QUERY OK source="sources" db=0.3ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:40.175 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:40.176 [debug] QUERY OK source="media_items" db=0.4ms 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 [86840] 02:20:40.176 [debug] Current batch of media processed. Will check again in 1000ms 02:20:41.177 [debug] Current batch of media processed. Will check again in 1000ms 02:20:42.178 [debug] Current batch of media processed. Will check again in 1000ms 02:20:43.179 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode 959KRISTINES eller få rabatten via linket her: http://www.hellofresh.dk/959KRISTINES\n\nI denne episode sætter vi langt om længe keramik til salg igen, og det er udsolgt på meget få minutter. Vi er på røven over det må jeg bare sige. Mikkel bygger og vi får besøg af min familie der hjælper til hvor der er brug for det. Julle overtager kameraet mens hun maler og jeg er ved lægen med vores datter. Min far underholder som altid med alle de vanvittige ting han siger og min mor er gået i krig med vasketøjet \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1386, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e103000 - Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63.mp4", "id" => "_c08N8LDjq4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_c08N8LDjq4", "playlist_index" => 62, "timestamp" => 1761832855, "title" => "Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63", "upload_date" => "20251030"} 02:20:43.180 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1010.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:43.181 [debug] QUERY OK source="sources" db=0.3ms idle=1011.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:43.181 [debug] QUERY OK source="media_items" db=0.3ms idle=1011.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 14:00:55Z], 3] 02:20:43.184 [debug] QUERY OK source="media_items" db=1.7ms idle=1012.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode 959KRISTINES eller få rabatten via linket her: http://www.hellofresh.dk/959KRISTINES\n\nI denne episode sætter vi langt om længe keramik til salg igen, og det er udsolgt på meget få minutter. Vi er på røven over det må jeg bare sige. Mikkel bygger og vi får besøg af min familie der hjælper til hvor der er brug for det. Julle overtager kameraet mens hun maler og jeg er ved lægen med vores datter. Min far underholder som altid med alle de vanvittige ting han siger og min mor er gået i krig med vasketøjet \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63", "ee9f6291-d3ed-467e-931a-649cbd9271be", 3, [], 1386, false, "_c08N8LDjq4", "https://www.youtube.com/watch?v=_c08N8LDjq4", 62, "/downloads/shows/Livet på gården/Season 2025/s2025e103000 - Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63.mp4", false, false, false, 1, ~U[2025-10-30 14:00:55Z], ~U[2026-04-17 00:20:43Z], ~U[2026-04-17 00:20:43Z], "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode 959KRISTINES eller få rabatten via linket her: http://www.hellofresh.dk/959KRISTINES\n\nI denne episode sætter vi langt om længe keramik til salg igen, og det er udsolgt på meget få minutter. Vi er på røven over det må jeg bare sige. Mikkel bygger og vi får besøg af min familie der hjælper til hvor der er brug for det. Julle overtager kameraet mens hun maler og jeg er ved lægen med vores datter. Min far underholder som altid med alle de vanvittige ting han siger og min mor er gået i krig med vasketøjet \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63", 3, 1386, false, "_c08N8LDjq4", "https://www.youtube.com/watch?v=_c08N8LDjq4", "/downloads/shows/Livet på gården/Season 2025/s2025e103000 - Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63.mp4", false, ~U[2025-10-30 14:00:55Z]] 02:20:43.185 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=319.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:43.185 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=4.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:43.186 [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 [89627] 02:20:43.186 [debug] Current batch of media processed. Will check again in 1000ms 02:20:44.187 [debug] Current batch of media processed. Will check again in 1000ms 02:20:45.188 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er vi langt om længe gået igang med at male soklen under vores vinduer. Mikkel er ikke just tilfreds med min måde at gøre det på, men det bliver han nok aldrig haha. Willy er blevet besat af at sidde på min skulder og Mikkel synes åbenbart at et pæretræ skal dø? Jeg svare også på spørgsmål jeg ofte får om hvordan det har været at blive mor, når man har et sind som mit.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1699, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e110600 - Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64.mp4", "id" => "NcSqbDLMJCo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=NcSqbDLMJCo", "playlist_index" => 63, "timestamp" => 1762437648, "title" => "Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64", "upload_date" => "20251106"} 02:20:45.189 [debug] QUERY OK source="sources" db=0.2ms idle=321.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:45.189 [debug] QUERY OK source="sources" db=0.1ms idle=19.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:45.190 [debug] QUERY OK source="media_items" db=0.4ms idle=20.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-06 14:00:48Z], 3] 02:20:45.191 [debug] QUERY OK source="media_items" db=1.0ms idle=21.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi langt om længe gået igang med at male soklen under vores vinduer. Mikkel er ikke just tilfreds med min måde at gøre det på, men det bliver han nok aldrig haha. Willy er blevet besat af at sidde på min skulder og Mikkel synes åbenbart at et pæretræ skal dø? Jeg svare også på spørgsmål jeg ofte får om hvordan det har været at blive mor, når man har et sind som mit.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64", "1e333508-34fe-4a4a-9a3c-b3151cbf48b7", 3, [], 1699, false, "NcSqbDLMJCo", "https://www.youtube.com/watch?v=NcSqbDLMJCo", 63, "/downloads/shows/Livet på gården/Season 2025/s2025e110600 - Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64.mp4", false, false, false, 1, ~U[2025-11-06 14:00:48Z], ~U[2026-04-17 00:20:45Z], ~U[2026-04-17 00:20:45Z], "I dette afsnit er vi langt om længe gået igang med at male soklen under vores vinduer. Mikkel er ikke just tilfreds med min måde at gøre det på, men det bliver han nok aldrig haha. Willy er blevet besat af at sidde på min skulder og Mikkel synes åbenbart at et pæretræ skal dø? Jeg svare også på spørgsmål jeg ofte får om hvordan det har været at blive mor, når man har et sind som mit.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64", 3, 1699, false, "NcSqbDLMJCo", "https://www.youtube.com/watch?v=NcSqbDLMJCo", "/downloads/shows/Livet på gården/Season 2025/s2025e110600 - Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64.mp4", false, ~U[2025-11-06 14:00:48Z]] 02:20:45.192 [debug] QUERY OK source="sources" db=0.1ms idle=22.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:45.192 [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] 02:20:45.193 [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 [92461] 02:20:45.193 [debug] Current batch of media processed. Will check again in 1000ms 02:20:46.193 [debug] Current batch of media processed. Will check again in 1000ms 02:20:47.194 [debug] Current batch of media processed. Will check again in 1000ms 02:20:48.195 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dagens afsnit er Mikkel spændt som en flitsbue fordi hans længe ventede drøm om en minilæsser endelig går i opfyldelse og jeg får mig ca. verdens gladeste mand og forhåbenligt lidt ro hahaha. Den er meget velkommen, fordi det er blevet tid til at pille gavlene ned med hjælp fra Mikkels bedste buddy Krog som også er tømrer. Deres mission er at pille 2 gavle ned og bygge dem op igen på 2 dage - et ambitiøst projekt mildt sagt. I kommer med i processen og Mikkel deler han tanker og viden om den slags. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1312, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e111300 - Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65.mp4", "id" => "bt4dqhzvEu0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bt4dqhzvEu0", "playlist_index" => 64, "timestamp" => 1763046097, "title" => "Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65", "upload_date" => "20251113"} 02:20:48.196 [debug] QUERY OK source="sources" db=0.2ms idle=1026.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:48.196 [debug] QUERY OK source="sources" db=0.3ms idle=1027.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:48.197 [debug] QUERY OK source="media_items" db=0.4ms idle=1027.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-13 15:01:37Z], 3] 02:20:48.199 [debug] QUERY OK source="media_items" db=0.9ms idle=1028.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dagens afsnit er Mikkel spændt som en flitsbue fordi hans længe ventede drøm om en minilæsser endelig går i opfyldelse og jeg får mig ca. verdens gladeste mand og forhåbenligt lidt ro hahaha. Den er meget velkommen, fordi det er blevet tid til at pille gavlene ned med hjælp fra Mikkels bedste buddy Krog som også er tømrer. Deres mission er at pille 2 gavle ned og bygge dem op igen på 2 dage - et ambitiøst projekt mildt sagt. I kommer med i processen og Mikkel deler han tanker og viden om den slags. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65", "6df97d1f-61fa-4047-92a0-71adbd5d0af2", 3, [], 1312, false, "bt4dqhzvEu0", "https://www.youtube.com/watch?v=bt4dqhzvEu0", 64, "/downloads/shows/Livet på gården/Season 2025/s2025e111300 - Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65.mp4", false, false, false, 1, ~U[2025-11-13 15:01:37Z], ~U[2026-04-17 00:20:48Z], ~U[2026-04-17 00:20:48Z], "I dagens afsnit er Mikkel spændt som en flitsbue fordi hans længe ventede drøm om en minilæsser endelig går i opfyldelse og jeg får mig ca. verdens gladeste mand og forhåbenligt lidt ro hahaha. Den er meget velkommen, fordi det er blevet tid til at pille gavlene ned med hjælp fra Mikkels bedste buddy Krog som også er tømrer. Deres mission er at pille 2 gavle ned og bygge dem op igen på 2 dage - et ambitiøst projekt mildt sagt. I kommer med i processen og Mikkel deler han tanker og viden om den slags. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65", 3, 1312, false, "bt4dqhzvEu0", "https://www.youtube.com/watch?v=bt4dqhzvEu0", "/downloads/shows/Livet på gården/Season 2025/s2025e111300 - Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65.mp4", false, ~U[2025-11-13 15:01:37Z]] 02:20:48.199 [debug] QUERY OK source="sources" db=0.1ms idle=328.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:48.200 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:48.201 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [95282] 02:20:48.201 [debug] Current batch of media processed. Will check again in 1000ms 02:20:49.201 [debug] Current batch of media processed. Will check again in 1000ms 02:20:50.202 [debug] Current batch of media processed. Will check again in 1000ms 02:20:51.203 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit tager Mikkel os med når han viser hvad han har fikset med minilæsseren. Han har gang i den helt store oprydning både det ene og ander sted. Jeg prøver at sidde i minilæsseren for første gang mens Mikkel fortæller hvad den kan. Inde i køkkenet har jeg gang i at langtidskoge ossobuco til baby - og så tager vi jer med i vores planer og forestående indkøb til overetagen. Og det bliver ikke ligefrem gratis. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1694, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e112000 - Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66.mp4", "id" => "XO87v1AxbWQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XO87v1AxbWQ", "playlist_index" => 65, "timestamp" => 1763650866, "title" => "Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66", "upload_date" => "20251120"} 02:20:51.204 [debug] QUERY OK source="sources" db=0.4ms idle=1034.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:51.205 [debug] QUERY OK source="sources" db=0.4ms idle=1035.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:51.206 [debug] QUERY OK source="media_items" db=0.5ms idle=1035.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-20 15:01:06Z], 3] 02:20:51.208 [debug] QUERY OK source="media_items" db=1.3ms idle=1036.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager Mikkel os med når han viser hvad han har fikset med minilæsseren. Han har gang i den helt store oprydning både det ene og ander sted. Jeg prøver at sidde i minilæsseren for første gang mens Mikkel fortæller hvad den kan. Inde i køkkenet har jeg gang i at langtidskoge ossobuco til baby - og så tager vi jer med i vores planer og forestående indkøb til overetagen. Og det bliver ikke ligefrem gratis. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66", "46464ade-d0c0-491b-a2b6-c690a34ff9d5", 3, [], 1694, false, "XO87v1AxbWQ", "https://www.youtube.com/watch?v=XO87v1AxbWQ", 65, "/downloads/shows/Livet på gården/Season 2025/s2025e112000 - Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66.mp4", false, false, false, 1, ~U[2025-11-20 15:01:06Z], ~U[2026-04-17 00:20:51Z], ~U[2026-04-17 00:20:51Z], "I dette afsnit tager Mikkel os med når han viser hvad han har fikset med minilæsseren. Han har gang i den helt store oprydning både det ene og ander sted. Jeg prøver at sidde i minilæsseren for første gang mens Mikkel fortæller hvad den kan. Inde i køkkenet har jeg gang i at langtidskoge ossobuco til baby - og så tager vi jer med i vores planer og forestående indkøb til overetagen. Og det bliver ikke ligefrem gratis. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66", 3, 1694, false, "XO87v1AxbWQ", "https://www.youtube.com/watch?v=XO87v1AxbWQ", "/downloads/shows/Livet på gården/Season 2025/s2025e112000 - Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66.mp4", false, ~U[2025-11-20 15:01:06Z]] 02:20:51.208 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=330.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:51.210 [debug] QUERY OK source="media_profiles" db=0.7ms 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] 02:20:51.211 [debug] QUERY OK source="media_items" db=0.7ms 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 [98129] 02:20:51.212 [debug] Current batch of media processed. Will check again in 1000ms 02:20:52.213 [debug] Current batch of media processed. Will check again in 1000ms 02:20:53.214 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er vi gået i køkkenet for at forsøge os med at lave vores egen kimchi, som jo er en form for fermenteret koreansk kål, som Mikkel elsker og spiser i store mængder. Det viser sig som lidt af en videnskab, men ikke desto mindre er Mikkel sjofel som altid og jeg forsøger bare at komme i mål med den kål, hahah. Det er samme dag simba prisen, som vi vinder - men som i nok ved, er jeg mere til kimchi end store sale og mennesker. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1232, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e112700 - Vi laver hjemmelavet kimchi | Livet på gården Ep. 67.mp4", "id" => "qDN2-yN1EkI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qDN2-yN1EkI", "playlist_index" => 66, "timestamp" => 1764255705, "title" => "Vi laver hjemmelavet kimchi | Livet på gården Ep. 67", "upload_date" => "20251127"} 02:20:53.215 [debug] QUERY OK source="sources" db=0.2ms idle=333.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:53.215 [debug] QUERY OK source="sources" db=0.1ms idle=46.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:53.216 [debug] QUERY OK source="media_items" db=0.4ms idle=46.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-27 15:01:45Z], 3] 02:20:53.223 [debug] QUERY OK source="media_items" db=6.8ms idle=47.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi gået i køkkenet for at forsøge os med at lave vores egen kimchi, som jo er en form for fermenteret koreansk kål, som Mikkel elsker og spiser i store mængder. Det viser sig som lidt af en videnskab, men ikke desto mindre er Mikkel sjofel som altid og jeg forsøger bare at komme i mål med den kål, hahah. Det er samme dag simba prisen, som vi vinder - men som i nok ved, er jeg mere til kimchi end store sale og mennesker. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi laver hjemmelavet kimchi | Livet på gården Ep. 67", "61bdd4d9-8aa5-46eb-8f88-2a02f07d0886", 3, [], 1232, false, "qDN2-yN1EkI", "https://www.youtube.com/watch?v=qDN2-yN1EkI", 66, "/downloads/shows/Livet på gården/Season 2025/s2025e112700 - Vi laver hjemmelavet kimchi | Livet på gården Ep. 67.mp4", false, false, false, 1, ~U[2025-11-27 15:01:45Z], ~U[2026-04-17 00:20:53Z], ~U[2026-04-17 00:20:53Z], "I dette afsnit er vi gået i køkkenet for at forsøge os med at lave vores egen kimchi, som jo er en form for fermenteret koreansk kål, som Mikkel elsker og spiser i store mængder. Det viser sig som lidt af en videnskab, men ikke desto mindre er Mikkel sjofel som altid og jeg forsøger bare at komme i mål med den kål, hahah. Det er samme dag simba prisen, som vi vinder - men som i nok ved, er jeg mere til kimchi end store sale og mennesker. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi laver hjemmelavet kimchi | Livet på gården Ep. 67", 3, 1232, false, "qDN2-yN1EkI", "https://www.youtube.com/watch?v=qDN2-yN1EkI", "/downloads/shows/Livet på gården/Season 2025/s2025e112700 - Vi laver hjemmelavet kimchi | Livet på gården Ep. 67.mp4", false, ~U[2025-11-27 15:01:45Z]] 02:20:53.224 [debug] QUERY OK source="sources" db=0.2ms idle=54.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:53.224 [debug] QUERY OK source="media_profiles" db=0.1ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:53.225 [debug] QUERY OK source="media_items" db=0.2ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [101004] 02:20:53.225 [debug] Current batch of media processed. Will check again in 1000ms 02:20:54.226 [debug] Current batch of media processed. Will check again in 1000ms 02:20:55.227 [debug] Current batch of media processed. Will check again in 1000ms 02:20:56.228 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit kommer i for alvor med ovenpå når vi lægger en endelig plan for ruminddelingen af overetagen og Mikkel grubler og fortæller hvorfor noget kan lade sig gøre, og andet ikke kan. Vi skal have gang i det helt store isoleringsarbejde, fordi det for alvor er blevet koldt - så vi knokler på og får slæbt isolering op og går igang. Jeg hjælper så godt jeg kan, men som i ved er Mikkel ikke altid begejstret for det jeg byder ind med. Vi kører timelapse derudaf og runder også \"Brohave bliver bøf\", hvilket Mikkel simpelthen ikke ved hvad er, hahahah\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1620, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e121100 - Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68.mp4", "id" => "kOicCYUbF9Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=kOicCYUbF9Y", "playlist_index" => 67, "timestamp" => 1765465294, "title" => "Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68", "upload_date" => "20251211"} 02:20:56.229 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1058.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:56.230 [debug] QUERY OK source="sources" db=0.4ms idle=1059.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:56.231 [debug] QUERY OK source="media_items" db=0.4ms idle=1060.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-11 15:01:34Z], 3] 02:20:56.236 [debug] QUERY OK source="media_items" db=4.3ms idle=1061.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i for alvor med ovenpå når vi lægger en endelig plan for ruminddelingen af overetagen og Mikkel grubler og fortæller hvorfor noget kan lade sig gøre, og andet ikke kan. Vi skal have gang i det helt store isoleringsarbejde, fordi det for alvor er blevet koldt - så vi knokler på og får slæbt isolering op og går igang. Jeg hjælper så godt jeg kan, men som i ved er Mikkel ikke altid begejstret for det jeg byder ind med. Vi kører timelapse derudaf og runder også \"Brohave bliver bøf\", hvilket Mikkel simpelthen ikke ved hvad er, hahahah\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68", "991ea861-ec69-4dc6-8ff7-77db30a9a2e6", 3, [], 1620, false, "kOicCYUbF9Y", "https://www.youtube.com/watch?v=kOicCYUbF9Y", 67, "/downloads/shows/Livet på gården/Season 2025/s2025e121100 - Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68.mp4", false, false, false, 1, ~U[2025-12-11 15:01:34Z], ~U[2026-04-17 00:20:56Z], ~U[2026-04-17 00:20:56Z], "I dette afsnit kommer i for alvor med ovenpå når vi lægger en endelig plan for ruminddelingen af overetagen og Mikkel grubler og fortæller hvorfor noget kan lade sig gøre, og andet ikke kan. Vi skal have gang i det helt store isoleringsarbejde, fordi det for alvor er blevet koldt - så vi knokler på og får slæbt isolering op og går igang. Jeg hjælper så godt jeg kan, men som i ved er Mikkel ikke altid begejstret for det jeg byder ind med. Vi kører timelapse derudaf og runder også \"Brohave bliver bøf\", hvilket Mikkel simpelthen ikke ved hvad er, hahahah\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68", 3, 1620, false, "kOicCYUbF9Y", "https://www.youtube.com/watch?v=kOicCYUbF9Y", "/downloads/shows/Livet på gården/Season 2025/s2025e121100 - Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68.mp4", false, ~U[2025-12-11 15:01:34Z]] 02:20:56.237 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=352.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:56.237 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:56.238 [debug] QUERY OK source="media_items" db=0.5ms 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 [106794] 02:20:56.238 [debug] Current batch of media processed. Will check again in 1000ms 02:20:57.239 [debug] Current batch of media processed. Will check again in 1000ms 02:20:58.240 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården sørger vi for at få lukket af med vintermåtter oppe på overetagen. Jeg er i dårligt humør, en dag vi beslutter os for at hænge lyskæder op udenfor, men Mikkel er som altid smart i en fart og fyre alt muligt pis af, hahah. Derudover har vi kæmpe store problemer i hønsegården og har taget en stor beslutning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1331, "filename" => "/downloads/shows/Livet på gården/Season 2025/s2025e121800 - Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69.mp4", "id" => "49M-tMeNIb0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=49M-tMeNIb0", "playlist_index" => 68, "timestamp" => 1766070008, "title" => "Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69", "upload_date" => "20251218"} 02:20:58.241 [debug] QUERY OK source="sources" db=0.3ms idle=353.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:20:58.241 [debug] QUERY OK source="sources" db=0.1ms idle=71.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:58.242 [debug] QUERY OK source="media_items" db=0.3ms idle=71.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-18 15:00:08Z], 3] 02:20:58.243 [debug] QUERY OK source="media_items" db=0.9ms idle=72.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården sørger vi for at få lukket af med vintermåtter oppe på overetagen. Jeg er i dårligt humør, en dag vi beslutter os for at hænge lyskæder op udenfor, men Mikkel er som altid smart i en fart og fyre alt muligt pis af, hahah. Derudover har vi kæmpe store problemer i hønsegården og har taget en stor beslutning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69", "6229ef07-4142-47b9-a529-bf6b6d076c8f", 3, [], 1331, false, "49M-tMeNIb0", "https://www.youtube.com/watch?v=49M-tMeNIb0", 68, "/downloads/shows/Livet på gården/Season 2025/s2025e121800 - Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69.mp4", false, false, false, 1, ~U[2025-12-18 15:00:08Z], ~U[2026-04-17 00:20:58Z], ~U[2026-04-17 00:20:58Z], "I dette afsnit af livet på gården sørger vi for at få lukket af med vintermåtter oppe på overetagen. Jeg er i dårligt humør, en dag vi beslutter os for at hænge lyskæder op udenfor, men Mikkel er som altid smart i en fart og fyre alt muligt pis af, hahah. Derudover har vi kæmpe store problemer i hønsegården og har taget en stor beslutning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69", 3, 1331, false, "49M-tMeNIb0", "https://www.youtube.com/watch?v=49M-tMeNIb0", "/downloads/shows/Livet på gården/Season 2025/s2025e121800 - Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69.mp4", false, ~U[2025-12-18 15:00:08Z]] 02:20:58.244 [debug] QUERY OK source="sources" db=0.3ms idle=73.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:20:58.245 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:20:58.245 [debug] QUERY OK source="media_items" db=0.5ms 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 [109831] 02:20:58.246 [debug] Current batch of media processed. Will check again in 1000ms 02:20:59.246 [debug] Current batch of media processed. Will check again in 1000ms 02:21:00.247 [debug] Current batch of media processed. Will check again in 1000ms 02:21:00.273 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:21:01.248 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode KRISTINES26 eller få rabatten via linket her: http://www.hellofresh.dk/KRISTINES26\n\nI denne video har vi endelig fundet den helt perfekte brugte trappe som Mikkel henter i Thy, på en trailer der ser pænt spændende ud. Opgaven er så at få den godt på plads inde i laden, indtil den skal monteres i huset. Der er også blevet tomt i hønsehuset for første gang i nærmest alt den tid vi har boet på gården og det synes jeg er ret svært. Jeg er igang i køkkenet og Mikkel fortsætter kampen med at isolere overetagen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1463, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e010800 - En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71.mp4", "id" => "EzliYAXWUnU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=EzliYAXWUnU", "playlist_index" => 69, "timestamp" => 1767884433, "title" => "En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71", "upload_date" => "20260108"} 02:21:01.249 [debug] QUERY OK source="sources" db=0.3ms idle=1078.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:21:01.249 [debug] QUERY OK source="sources" db=0.1ms idle=1079.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:01.250 [debug] QUERY OK source="media_items" db=0.3ms idle=1079.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-08 15:00:33Z], 3] 02:21:01.251 [debug] QUERY OK source="media_items" db=0.9ms idle=977.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode KRISTINES26 eller få rabatten via linket her: http://www.hellofresh.dk/KRISTINES26\n\nI denne video har vi endelig fundet den helt perfekte brugte trappe som Mikkel henter i Thy, på en trailer der ser pænt spændende ud. Opgaven er så at få den godt på plads inde i laden, indtil den skal monteres i huset. Der er også blevet tomt i hønsehuset for første gang i nærmest alt den tid vi har boet på gården og det synes jeg er ret svært. Jeg er igang i køkkenet og Mikkel fortsætter kampen med at isolere overetagen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71", "69cfb5b9-a6bd-4b68-a640-6e594f171670", 3, [], 1463, false, "EzliYAXWUnU", "https://www.youtube.com/watch?v=EzliYAXWUnU", 69, "/downloads/shows/Livet på gården/Season 2026/s2026e010800 - En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71.mp4", false, false, false, 1, ~U[2026-01-08 15:00:33Z], ~U[2026-04-17 00:21:01Z], ~U[2026-04-17 00:21:01Z], "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode KRISTINES26 eller få rabatten via linket her: http://www.hellofresh.dk/KRISTINES26\n\nI denne video har vi endelig fundet den helt perfekte brugte trappe som Mikkel henter i Thy, på en trailer der ser pænt spændende ud. Opgaven er så at få den godt på plads inde i laden, indtil den skal monteres i huset. Der er også blevet tomt i hønsehuset for første gang i nærmest alt den tid vi har boet på gården og det synes jeg er ret svært. Jeg er igang i køkkenet og Mikkel fortsætter kampen med at isolere overetagen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71", 3, 1463, false, "EzliYAXWUnU", "https://www.youtube.com/watch?v=EzliYAXWUnU", "/downloads/shows/Livet på gården/Season 2026/s2026e010800 - En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71.mp4", false, ~U[2026-01-08 15:00:33Z]] 02:21:01.252 [debug] QUERY OK source="sources" db=0.2ms idle=359.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:01.252 [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] 02:21:01.253 [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 [118803] 02:21:01.253 [debug] Current batch of media processed. Will check again in 1000ms 02:21:02.118 [info] {"source":"oban","duration":974,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:02.258 [debug] Current batch of media processed. Will check again in 1000ms 02:21:03.258 [debug] Current batch of media processed. Will check again in 1000ms 02:21:04.259 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode har vi os en noget svag hund som er blevet opereret, jeg organiserer til den helt store guldmedalje og så er jeg altså begyndt at preppe og fylde skabene til ekstra op. Mikkel fyre rundt ovenpå og er ved at kunne se enden på isoleringen og så får vi for alvor et kig på hvordan vores hall kommer til at se ud - den bliver jo kæmpe! \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1063, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e011500 - Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72.mp4", "id" => "W25cAiJgVl4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=W25cAiJgVl4", "playlist_index" => 70, "timestamp" => 1768489257, "title" => "Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72", "upload_date" => "20260115"} 02:21:04.260 [debug] QUERY OK source="sources" db=0.2ms idle=1089.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:21:04.260 [debug] QUERY OK source="sources" db=0.2ms idle=1089.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:04.261 [debug] QUERY OK source="media_items" db=0.4ms idle=1090.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-15 15:00:57Z], 3] 02:21:04.262 [debug] QUERY OK source="media_items" db=1.1ms idle=1091.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode har vi os en noget svag hund som er blevet opereret, jeg organiserer til den helt store guldmedalje og så er jeg altså begyndt at preppe og fylde skabene til ekstra op. Mikkel fyre rundt ovenpå og er ved at kunne se enden på isoleringen og så får vi for alvor et kig på hvordan vores hall kommer til at se ud - den bliver jo kæmpe! \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72", "48fcb565-fb1b-44d7-9cfb-8b423c6a11fc", 3, [], 1063, false, "W25cAiJgVl4", "https://www.youtube.com/watch?v=W25cAiJgVl4", 70, "/downloads/shows/Livet på gården/Season 2026/s2026e011500 - Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72.mp4", false, false, false, 1, ~U[2026-01-15 15:00:57Z], ~U[2026-04-17 00:21:04Z], ~U[2026-04-17 00:21:04Z], "I denne episode har vi os en noget svag hund som er blevet opereret, jeg organiserer til den helt store guldmedalje og så er jeg altså begyndt at preppe og fylde skabene til ekstra op. Mikkel fyre rundt ovenpå og er ved at kunne se enden på isoleringen og så får vi for alvor et kig på hvordan vores hall kommer til at se ud - den bliver jo kæmpe! \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72", 3, 1063, false, "W25cAiJgVl4", "https://www.youtube.com/watch?v=W25cAiJgVl4", "/downloads/shows/Livet på gården/Season 2026/s2026e011500 - Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72.mp4", false, ~U[2026-01-15 15:00:57Z]] 02:21:04.263 [debug] QUERY OK source="sources" db=0.1ms idle=366.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:04.263 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:21:04.264 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [121817] 02:21:04.264 [debug] Current batch of media processed. Will check again in 1000ms 02:21:05.265 [debug] Current batch of media processed. Will check again in 1000ms 02:21:06.266 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne episode sælger vi keramik. I kommer med helt tæt på når jeg forbereder og sætter op. Min mor kommer os til undsætning for at hjælpe med pakkeriet, og jeg er som altid spændt som en flitsbue. Det hele bliver udsolgt på rekordtid og jeg er bare i chok altså. Det er SÅ vildt! \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1312, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e012200 - Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73.mp4", "id" => "ZhpmiMpVyZw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ZhpmiMpVyZw", "playlist_index" => 71, "timestamp" => 1769094066, "title" => "Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73", "upload_date" => "20260122"} 02:21:06.267 [debug] QUERY OK source="sources" db=0.4ms idle=367.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:21:06.268 [debug] QUERY OK source="sources" db=0.4ms idle=97.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:06.269 [debug] QUERY OK source="media_items" db=0.7ms idle=97.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 15:01:06Z], 3] 02:21:06.272 [debug] QUERY OK source="media_items" db=1.8ms idle=99.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode sælger vi keramik. I kommer med helt tæt på når jeg forbereder og sætter op. Min mor kommer os til undsætning for at hjælpe med pakkeriet, og jeg er som altid spændt som en flitsbue. Det hele bliver udsolgt på rekordtid og jeg er bare i chok altså. Det er SÅ vildt! \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73", "de739172-6dc3-43ea-a5bd-90756379018d", 3, [], 1312, false, "ZhpmiMpVyZw", "https://www.youtube.com/watch?v=ZhpmiMpVyZw", 71, "/downloads/shows/Livet på gården/Season 2026/s2026e012200 - Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73.mp4", false, false, false, 1, ~U[2026-01-22 15:01:06Z], ~U[2026-04-17 00:21:06Z], ~U[2026-04-17 00:21:06Z], "I denne episode sælger vi keramik. I kommer med helt tæt på når jeg forbereder og sætter op. Min mor kommer os til undsætning for at hjælpe med pakkeriet, og jeg er som altid spændt som en flitsbue. Det hele bliver udsolgt på rekordtid og jeg er bare i chok altså. Det er SÅ vildt! \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73", 3, 1312, false, "ZhpmiMpVyZw", "https://www.youtube.com/watch?v=ZhpmiMpVyZw", "/downloads/shows/Livet på gården/Season 2026/s2026e012200 - Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73.mp4", false, ~U[2026-01-22 15:01:06Z]] 02:21:06.272 [debug] QUERY OK source="sources" db=0.5ms idle=101.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:06.273 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:21:06.273 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [124860] 02:21:06.273 [debug] Current batch of media processed. Will check again in 1000ms 02:21:07.274 [debug] Current batch of media processed. Will check again in 1000ms 02:21:08.275 [debug] Current batch of media processed. Will check again in 1000ms 02:21:09.276 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården er vi mildest talt ufatteligt nervøse. Efter en weekend hvor vi akut måtte kører Carla til dyrlægen, er Mikkel kørt afsted med hende til Viborg hvor hun skal ind til en neurolog, fordi hun opfører sig helt skørt og ved siden af sig selv. I mens forsøger jeg at distrahere mig selv i keramikken. Senere er der dårlig stemning på første salen da det går op for os at Willy bruger isolering som toilet - og så er vi en tur udenfor, for at rydde op efter nedrivningen af gavlene. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1476, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e012900 - Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74.mp4", "id" => "mJgxlMp3x34", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mJgxlMp3x34", "playlist_index" => 72, "timestamp" => 1769698882, "title" => "Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74", "upload_date" => "20260129"} 02:21:09.277 [debug] QUERY OK source="sources" db=0.2ms idle=1106.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:21:09.277 [debug] QUERY OK source="sources" db=0.1ms idle=1106.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:09.278 [debug] QUERY OK source="media_items" db=0.5ms idle=1107.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 15:01:22Z], 3] 02:21:09.280 [debug] QUERY OK source="media_items" db=0.9ms idle=1108.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården er vi mildest talt ufatteligt nervøse. Efter en weekend hvor vi akut måtte kører Carla til dyrlægen, er Mikkel kørt afsted med hende til Viborg hvor hun skal ind til en neurolog, fordi hun opfører sig helt skørt og ved siden af sig selv. I mens forsøger jeg at distrahere mig selv i keramikken. Senere er der dårlig stemning på første salen da det går op for os at Willy bruger isolering som toilet - og så er vi en tur udenfor, for at rydde op efter nedrivningen af gavlene. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74", "558a016e-1ea5-41fd-b0fd-af9944f23b52", 3, [], 1476, false, "mJgxlMp3x34", "https://www.youtube.com/watch?v=mJgxlMp3x34", 72, "/downloads/shows/Livet på gården/Season 2026/s2026e012900 - Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74.mp4", false, false, false, 1, ~U[2026-01-29 15:01:22Z], ~U[2026-04-17 00:21:09Z], ~U[2026-04-17 00:21:09Z], "I dette afsnit af livet på gården er vi mildest talt ufatteligt nervøse. Efter en weekend hvor vi akut måtte kører Carla til dyrlægen, er Mikkel kørt afsted med hende til Viborg hvor hun skal ind til en neurolog, fordi hun opfører sig helt skørt og ved siden af sig selv. I mens forsøger jeg at distrahere mig selv i keramikken. Senere er der dårlig stemning på første salen da det går op for os at Willy bruger isolering som toilet - og så er vi en tur udenfor, for at rydde op efter nedrivningen af gavlene. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74", 3, 1476, false, "mJgxlMp3x34", "https://www.youtube.com/watch?v=mJgxlMp3x34", "/downloads/shows/Livet på gården/Season 2026/s2026e012900 - Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74.mp4", false, ~U[2026-01-29 15:01:22Z]] 02:21:09.280 [debug] QUERY OK source="sources" db=0.1ms idle=378.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:09.280 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:21:09.281 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [127637] 02:21:09.281 [debug] Current batch of media processed. Will check again in 1000ms 02:21:10.282 [debug] Current batch of media processed. Will check again in 1000ms 02:21:11.283 [debug] Current batch of media processed. Will check again in 1000ms 02:21:12.284 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video fortsætter byggeriet og jeg får overtalt Mikkel til selv at tage kameraet med op og fortælle lidt mere teknisk om hvad han laver og hvorfor - og så har han lavet en timelapse (så cute). Mens der sker gevaldige fremskridt på første salen, er min første sal udfordret. Jeg er træt med træt på. Der er også kommet sne på gården og så opdatere jeg på hvordan det går med Carla. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1929, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e020500 - Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75.mp4", "id" => "o4CgI8DjMPw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=o4CgI8DjMPw", "playlist_index" => 73, "timestamp" => 1770303689, "title" => "Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75", "upload_date" => "20260205"} 02:21:12.285 [debug] QUERY OK source="sources" db=0.3ms idle=1114.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:21:12.286 [debug] QUERY OK source="sources" db=0.3ms idle=1115.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:12.286 [debug] QUERY OK source="media_items" db=0.4ms idle=1115.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 15:01:29Z], 3] 02:21:12.288 [debug] QUERY OK source="media_items" db=0.9ms idle=1116.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video fortsætter byggeriet og jeg får overtalt Mikkel til selv at tage kameraet med op og fortælle lidt mere teknisk om hvad han laver og hvorfor - og så har han lavet en timelapse (så cute). Mens der sker gevaldige fremskridt på første salen, er min første sal udfordret. Jeg er træt med træt på. Der er også kommet sne på gården og så opdatere jeg på hvordan det går med Carla. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75", "5e9a44f4-a2f8-48bb-b49a-53178dd38ea2", 3, [], 1929, false, "o4CgI8DjMPw", "https://www.youtube.com/watch?v=o4CgI8DjMPw", 73, "/downloads/shows/Livet på gården/Season 2026/s2026e020500 - Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75.mp4", false, false, false, 1, ~U[2026-02-05 15:01:29Z], ~U[2026-04-17 00:21:12Z], ~U[2026-04-17 00:21:12Z], "I denne video fortsætter byggeriet og jeg får overtalt Mikkel til selv at tage kameraet med op og fortælle lidt mere teknisk om hvad han laver og hvorfor - og så har han lavet en timelapse (så cute). Mens der sker gevaldige fremskridt på første salen, er min første sal udfordret. Jeg er træt med træt på. Der er også kommet sne på gården og så opdatere jeg på hvordan det går med Carla. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75", 3, 1929, false, "o4CgI8DjMPw", "https://www.youtube.com/watch?v=o4CgI8DjMPw", "/downloads/shows/Livet på gården/Season 2026/s2026e020500 - Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75.mp4", false, ~U[2026-02-05 15:01:29Z]] 02:21:12.289 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=383.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:12.289 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:21:12.290 [debug] QUERY OK source="media_items" db=0.3ms 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 [130670] 02:21:12.290 [debug] Current batch of media processed. Will check again in 1000ms 02:21:13.290 [debug] Current batch of media processed. Will check again in 1000ms 02:21:14.291 [debug] Current batch of media processed. Will check again in 1000ms 02:21:15.292 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården går Mikkel i krig med at rette gulvet op på overetagen og får lagt en en gulvspånplader. Der er nedslående nyheder fra Krog, the man of all men, som er vores mest pålidelige hjælp - og så tager vi altså en snak om økonomien i en renovering som vores. Hvad har overetagen kostet indtil videre? Og hvad regner vi med at bruge? Mikkel tegner og fortæller grundigt om den endelige planløsning som nu er fastlagt - og nårh ja, så har jeg fået min menstruation for første gang siden fødslen og det er ikke for tøsedrenge\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1827, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e021200 - Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76.mp4", "id" => "gZRnKqaiy3k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=gZRnKqaiy3k", "playlist_index" => 74, "timestamp" => 1770908476, "title" => "Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76", "upload_date" => "20260212"} 02:21:15.293 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1122.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:21:15.295 [debug] QUERY OK source="sources" db=1.0ms queue=0.7ms idle=1123.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:15.297 [debug] QUERY OK source="media_items" db=1.0ms idle=1125.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-12 15:01:16Z], 3] 02:21:15.301 [debug] QUERY OK source="media_items" db=3.2ms idle=1127.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården går Mikkel i krig med at rette gulvet op på overetagen og får lagt en en gulvspånplader. Der er nedslående nyheder fra Krog, the man of all men, som er vores mest pålidelige hjælp - og så tager vi altså en snak om økonomien i en renovering som vores. Hvad har overetagen kostet indtil videre? Og hvad regner vi med at bruge? Mikkel tegner og fortæller grundigt om den endelige planløsning som nu er fastlagt - og nårh ja, så har jeg fået min menstruation for første gang siden fødslen og det er ikke for tøsedrenge\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76", "7f2a856b-b7bd-489a-ab85-22d7038846a6", 3, [], 1827, false, "gZRnKqaiy3k", "https://www.youtube.com/watch?v=gZRnKqaiy3k", 74, "/downloads/shows/Livet på gården/Season 2026/s2026e021200 - Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76.mp4", false, false, false, 1, ~U[2026-02-12 15:01:16Z], ~U[2026-04-17 00:21:15Z], ~U[2026-04-17 00:21:15Z], "I dette afsnit af livet på gården går Mikkel i krig med at rette gulvet op på overetagen og får lagt en en gulvspånplader. Der er nedslående nyheder fra Krog, the man of all men, som er vores mest pålidelige hjælp - og så tager vi altså en snak om økonomien i en renovering som vores. Hvad har overetagen kostet indtil videre? Og hvad regner vi med at bruge? Mikkel tegner og fortæller grundigt om den endelige planløsning som nu er fastlagt - og nårh ja, så har jeg fået min menstruation for første gang siden fødslen og det er ikke for tøsedrenge\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76", 3, 1827, false, "gZRnKqaiy3k", "https://www.youtube.com/watch?v=gZRnKqaiy3k", "/downloads/shows/Livet på gården/Season 2026/s2026e021200 - Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76.mp4", false, ~U[2026-02-12 15:01:16Z]] 02:21:15.302 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=393.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:15.303 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.3ms idle=9.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:21:15.304 [debug] QUERY OK source="media_items" db=0.7ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [133899] 02:21:15.305 [debug] Current batch of media processed. Will check again in 1000ms 02:21:16.305 [debug] Current batch of media processed. Will check again in 1000ms 02:21:17.306 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit trodser vi kulden og begynder at måle op og lægge planer for udvidelsen af mit keramikværksted som vi har planer om. Mikkel hjælper mig med at lave tørreplader af gips til keramikken - og så snakker vi om hvad folk på reddit synes om os. Jeg tager jer også med lidt mere i detaljen af hvordan det foregår når jeg blandt andet glasere kopper. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1488, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e021900 - Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77.mp4", "id" => "XPD5zoS3yLA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XPD5zoS3yLA", "playlist_index" => 75, "timestamp" => 1771513262, "title" => "Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77", "upload_date" => "20260219"} 02:21:17.307 [debug] QUERY OK source="sources" db=0.3ms idle=391.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:21:17.307 [debug] QUERY OK source="sources" db=0.1ms idle=137.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:17.308 [debug] QUERY OK source="media_items" db=0.3ms idle=137.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-19 15:01:02Z], 3] 02:21:17.309 [debug] QUERY OK source="media_items" db=0.8ms idle=138.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit trodser vi kulden og begynder at måle op og lægge planer for udvidelsen af mit keramikværksted som vi har planer om. Mikkel hjælper mig med at lave tørreplader af gips til keramikken - og så snakker vi om hvad folk på reddit synes om os. Jeg tager jer også med lidt mere i detaljen af hvordan det foregår når jeg blandt andet glasere kopper. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77", "2e90dbcb-079f-497d-8cf3-7f35c817c625", 3, [], 1488, false, "XPD5zoS3yLA", "https://www.youtube.com/watch?v=XPD5zoS3yLA", 75, "/downloads/shows/Livet på gården/Season 2026/s2026e021900 - Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77.mp4", false, false, false, 1, ~U[2026-02-19 15:01:02Z], ~U[2026-04-17 00:21:17Z], ~U[2026-04-17 00:21:17Z], "I dette afsnit trodser vi kulden og begynder at måle op og lægge planer for udvidelsen af mit keramikværksted som vi har planer om. Mikkel hjælper mig med at lave tørreplader af gips til keramikken - og så snakker vi om hvad folk på reddit synes om os. Jeg tager jer også med lidt mere i detaljen af hvordan det foregår når jeg blandt andet glasere kopper. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77", 3, 1488, false, "XPD5zoS3yLA", "https://www.youtube.com/watch?v=XPD5zoS3yLA", "/downloads/shows/Livet på gården/Season 2026/s2026e021900 - Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77.mp4", false, ~U[2026-02-19 15:01:02Z]] 02:21:17.310 [debug] QUERY OK source="sources" db=0.1ms idle=139.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:17.310 [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] 02:21:17.311 [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 [137079] 02:21:17.311 [debug] Current batch of media processed. Will check again in 1000ms 02:21:18.314 [debug] Current batch of media processed. Will check again in 1000ms 02:21:19.315 [debug] Current batch of media processed. Will check again in 1000ms 02:21:20.316 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Denne video indeholder reklame for HelloFresh. \n\nSpar op til 959 kroner på dine første 5 måltidskasser og få gratis snacks med de første 3 måneder med min kode: KRISTINES2026\nEller få rabatten helt automatisk ved brug af dette link: http://www.hellofresh.dk/KRISTINES2026\n\ndenne video er vores længe ventede 3D printer endelig kommet hjem - noget vi har set frem til og særligt Mikkel som den grej freak han er, synes det er spændende. Vi samler den og prøver den af - og sikke en verden! I kommer med i køkkenet hvor den står på en smule primitiv madlavning fordi køkkenet flyder, fordi der er VVS arbejde igang og så viser jeg nogle af de sager vi har printet frem. Og er meget fascineret. Vi er også i sving med den helt store rengøring inden Rasmus Brohave kommer på besøg og skal overnatte - og det er jo ingen hemmelighed at min rengøringsstandard ikke helt lever op til den meget pæne mands, haha\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "duration" => 1391, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e022600 - Vi har købt en 3D printer! | Livet på gården Ep. 78.mp4", "id" => "Op8Tlzdn5eo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Op8Tlzdn5eo", "playlist_index" => 76, "timestamp" => 1772118051, "title" => "Vi har købt en 3D printer! | Livet på gården Ep. 78", "upload_date" => "20260226"} 02:21:20.317 [debug] QUERY OK source="sources" db=0.2ms idle=1146.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:21:20.317 [debug] QUERY OK source="sources" db=0.1ms idle=1147.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:20.318 [debug] QUERY OK source="media_items" db=0.3ms idle=1147.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 15:00:51Z], 3] 02:21:20.320 [debug] QUERY OK source="media_items" db=1.0ms idle=1148.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nSpar op til 959 kroner på dine første 5 måltidskasser og få gratis snacks med de første 3 måneder med min kode: KRISTINES2026\nEller få rabatten helt automatisk ved brug af dette link: http://www.hellofresh.dk/KRISTINES2026\n\ndenne video er vores længe ventede 3D printer endelig kommet hjem - noget vi har set frem til og særligt Mikkel som den grej freak han er, synes det er spændende. Vi samler den og prøver den af - og sikke en verden! I kommer med i køkkenet hvor den står på en smule primitiv madlavning fordi køkkenet flyder, fordi der er VVS arbejde igang og så viser jeg nogle af de sager vi har printet frem. Og er meget fascineret. Vi er også i sving med den helt store rengøring inden Rasmus Brohave kommer på besøg og skal overnatte - og det er jo ingen hemmelighed at min rengøringsstandard ikke helt lever op til den meget pæne mands, haha\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi har købt en 3D printer! | Livet på gården Ep. 78", "513238bf-a4d2-4b0a-b9d1-8848ec88f129", 3, [], 1391, false, "Op8Tlzdn5eo", "https://www.youtube.com/watch?v=Op8Tlzdn5eo", 76, "/downloads/shows/Livet på gården/Season 2026/s2026e022600 - Vi har købt en 3D printer! | Livet på gården Ep. 78.mp4", false, false, false, 1, ~U[2026-02-26 15:00:51Z], ~U[2026-04-17 00:21:20Z], ~U[2026-04-17 00:21:20Z], "Denne video indeholder reklame for HelloFresh. \n\nSpar op til 959 kroner på dine første 5 måltidskasser og få gratis snacks med de første 3 måneder med min kode: KRISTINES2026\nEller få rabatten helt automatisk ved brug af dette link: http://www.hellofresh.dk/KRISTINES2026\n\ndenne video er vores længe ventede 3D printer endelig kommet hjem - noget vi har set frem til og særligt Mikkel som den grej freak han er, synes det er spændende. Vi samler den og prøver den af - og sikke en verden! I kommer med i køkkenet hvor den står på en smule primitiv madlavning fordi køkkenet flyder, fordi der er VVS arbejde igang og så viser jeg nogle af de sager vi har printet frem. Og er meget fascineret. Vi er også i sving med den helt store rengøring inden Rasmus Brohave kommer på besøg og skal overnatte - og det er jo ingen hemmelighed at min rengøringsstandard ikke helt lever op til den meget pæne mands, haha\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi har købt en 3D printer! | Livet på gården Ep. 78", 3, 1391, false, "Op8Tlzdn5eo", "https://www.youtube.com/watch?v=Op8Tlzdn5eo", "/downloads/shows/Livet på gården/Season 2026/s2026e022600 - Vi har købt en 3D printer! | Livet på gården Ep. 78.mp4", false, ~U[2026-02-26 15:00:51Z]] 02:21:20.320 [debug] QUERY OK source="sources" db=0.1ms idle=402.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:20.320 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:21:20.321 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [140290] 02:21:20.321 [debug] Current batch of media processed. Will check again in 1000ms 02:21:21.322 [debug] Current batch of media processed. Will check again in 1000ms 02:21:22.323 [debug] Current batch of media processed. Will check again in 1000ms 02:21:23.324 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit af livet på gården er der virkelig gang i den. Vi starter ugen ud med at have Rasmus Brohave til overnatning - og han får den store rundtur. Sneen er for alvor kommet på besøg og Mikkel har naturligvis travlt med at komme ud i minilæsseren i en fart - og helt frivilligt tager han kameraet med, så i kan se hvordan det foregår at rydde vores meget lange grusvej. Mine forældre er på besøg - og som altid hjælper min mor med noget husligt og min far tilslutter sig Mikkel og byggeriet - jeg laver babymad og så er jeg blevet besat af surdej. Og nårh jo, så er min baby begyndt at sove om natten.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "duration" => 1601, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e030500 - Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79.mkv", "id" => "Th4fpPdHVU0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Th4fpPdHVU0", "playlist_index" => 77, "timestamp" => 1772722858, "title" => "Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79", "upload_date" => "20260305"} 02:21:23.325 [debug] QUERY OK source="sources" db=0.2ms idle=1154.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:21:23.325 [debug] QUERY OK source="sources" db=0.1ms idle=1155.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:23.326 [debug] QUERY OK source="media_items" db=0.3ms idle=1155.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-05 15:00:58Z], 3] 02:21:23.327 [debug] QUERY OK source="media_items" db=0.9ms idle=1156.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården er der virkelig gang i den. Vi starter ugen ud med at have Rasmus Brohave til overnatning - og han får den store rundtur. Sneen er for alvor kommet på besøg og Mikkel har naturligvis travlt med at komme ud i minilæsseren i en fart - og helt frivilligt tager han kameraet med, så i kan se hvordan det foregår at rydde vores meget lange grusvej. Mine forældre er på besøg - og som altid hjælper min mor med noget husligt og min far tilslutter sig Mikkel og byggeriet - jeg laver babymad og så er jeg blevet besat af surdej. Og nårh jo, så er min baby begyndt at sove om natten.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79", "7ebdc4d1-be15-4e59-a080-386b6fcb101e", 3, [], 1601, false, "Th4fpPdHVU0", "https://www.youtube.com/watch?v=Th4fpPdHVU0", 77, "/downloads/shows/Livet på gården/Season 2026/s2026e030500 - Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79.mkv", false, false, false, 1, ~U[2026-03-05 15:00:58Z], ~U[2026-04-17 00:21:23Z], ~U[2026-04-17 00:21:23Z], "I dette afsnit af livet på gården er der virkelig gang i den. Vi starter ugen ud med at have Rasmus Brohave til overnatning - og han får den store rundtur. Sneen er for alvor kommet på besøg og Mikkel har naturligvis travlt med at komme ud i minilæsseren i en fart - og helt frivilligt tager han kameraet med, så i kan se hvordan det foregår at rydde vores meget lange grusvej. Mine forældre er på besøg - og som altid hjælper min mor med noget husligt og min far tilslutter sig Mikkel og byggeriet - jeg laver babymad og så er jeg blevet besat af surdej. Og nårh jo, så er min baby begyndt at sove om natten.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79", 3, 1601, false, "Th4fpPdHVU0", "https://www.youtube.com/watch?v=Th4fpPdHVU0", "/downloads/shows/Livet på gården/Season 2026/s2026e030500 - Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79.mkv", false, ~U[2026-03-05 15:00:58Z]] 02:21:23.328 [debug] QUERY OK source="sources" db=0.1ms idle=405.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:23.328 [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] 02:21:23.329 [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 [143569] 02:21:23.329 [debug] Current batch of media processed. Will check again in 1000ms 02:21:24.330 [debug] Current batch of media processed. Will check again in 1000ms 02:21:25.331 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er mine forældre på besøg og min mor og jeg sætter os for langt om længe at få støbt nogle fugtkasser til mig, som er et uundværligt redskab i keramikværkstedet. Jeg er efter lang tids pause tilbage ved bageriet og kaster mig over nogle virale chokoladeboller - og så har vvs'eren været på for at etablere pexslanger til kold og varm vand, så Mikkel nu kan komme videre med tømrerdelen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "duration" => 1829, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e031200 - Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80.mkv", "id" => "WZAGvRqldgo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WZAGvRqldgo", "playlist_index" => 78, "timestamp" => 1773327658, "title" => "Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80", "upload_date" => "20260312"} 02:21:25.332 [debug] QUERY OK source="sources" db=0.3ms idle=403.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:21:25.332 [debug] QUERY OK source="sources" db=0.2ms idle=162.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:25.333 [debug] QUERY OK source="media_items" db=0.4ms idle=162.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-12 15:00:58Z], 3] 02:21:25.335 [debug] QUERY OK source="media_items" db=0.9ms idle=163.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er mine forældre på besøg og min mor og jeg sætter os for langt om længe at få støbt nogle fugtkasser til mig, som er et uundværligt redskab i keramikværkstedet. Jeg er efter lang tids pause tilbage ved bageriet og kaster mig over nogle virale chokoladeboller - og så har vvs'eren været på for at etablere pexslanger til kold og varm vand, så Mikkel nu kan komme videre med tømrerdelen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80", "6d95637b-9b6d-4606-a88f-426ed6493ff9", 3, [], 1829, false, "WZAGvRqldgo", "https://www.youtube.com/watch?v=WZAGvRqldgo", 78, "/downloads/shows/Livet på gården/Season 2026/s2026e031200 - Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80.mkv", false, false, false, 1, ~U[2026-03-12 15:00:58Z], ~U[2026-04-17 00:21:25Z], ~U[2026-04-17 00:21:25Z], "I dette afsnit er mine forældre på besøg og min mor og jeg sætter os for langt om længe at få støbt nogle fugtkasser til mig, som er et uundværligt redskab i keramikværkstedet. Jeg er efter lang tids pause tilbage ved bageriet og kaster mig over nogle virale chokoladeboller - og så har vvs'eren været på for at etablere pexslanger til kold og varm vand, så Mikkel nu kan komme videre med tømrerdelen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80", 3, 1829, false, "WZAGvRqldgo", "https://www.youtube.com/watch?v=WZAGvRqldgo", "/downloads/shows/Livet på gården/Season 2026/s2026e031200 - Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80.mkv", false, ~U[2026-03-12 15:00:58Z]] 02:21:25.335 [debug] QUERY OK source="sources" db=0.3ms idle=164.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:25.336 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:21:25.336 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [146839] 02:21:25.336 [debug] Current batch of media processed. Will check again in 1000ms 02:21:26.337 [debug] Current batch of media processed. Will check again in 1000ms 02:21:27.338 [debug] Current batch of media processed. Will check again in 1000ms 02:21:28.339 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit prøver jeg at bage med min surdej for aller første gang - det viser sig jo at være en lang proces, men det jeg tror faktisk det går okay? Mikkel er i fuld gang med at bygge skillevægge på første salen og han tager kameraet med og fortæller hvordan og hvorledes - og laver timelapse af processen. Malene kommer på besøg efter mange måneder - og hvad laver hun egentlig nu? Det runder vi - og så tager vi en status på forretningsdelen i keramikken og snakker om hvordan det går. Og så har jeg lavet kopper til et særligt par. Malene kan ikke gætte hvem de er til - men det kan du måske? \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "duration" => 1440, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e031900 - Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81.mkv", "id" => "wvCb1ystnC0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wvCb1ystnC0", "playlist_index" => 79, "timestamp" => 1773932500, "title" => "Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81", "upload_date" => "20260319"} 02:21:28.340 [debug] QUERY OK source="sources" db=0.3ms idle=1169.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:21:28.340 [debug] QUERY OK source="sources" db=0.1ms idle=1169.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:28.341 [debug] QUERY OK source="media_items" db=0.4ms idle=1170.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 15:01:40Z], 3] 02:21:28.343 [debug] QUERY OK source="media_items" db=0.9ms idle=1171.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit prøver jeg at bage med min surdej for aller første gang - det viser sig jo at være en lang proces, men det jeg tror faktisk det går okay? Mikkel er i fuld gang med at bygge skillevægge på første salen og han tager kameraet med og fortæller hvordan og hvorledes - og laver timelapse af processen. Malene kommer på besøg efter mange måneder - og hvad laver hun egentlig nu? Det runder vi - og så tager vi en status på forretningsdelen i keramikken og snakker om hvordan det går. Og så har jeg lavet kopper til et særligt par. Malene kan ikke gætte hvem de er til - men det kan du måske? \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81", "2ec5189e-5ac3-4181-9c72-97debd191e3d", 3, [], 1440, false, "wvCb1ystnC0", "https://www.youtube.com/watch?v=wvCb1ystnC0", 79, "/downloads/shows/Livet på gården/Season 2026/s2026e031900 - Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81.mkv", false, false, false, 1, ~U[2026-03-19 15:01:40Z], ~U[2026-04-17 00:21:28Z], ~U[2026-04-17 00:21:28Z], "I dette afsnit prøver jeg at bage med min surdej for aller første gang - det viser sig jo at være en lang proces, men det jeg tror faktisk det går okay? Mikkel er i fuld gang med at bygge skillevægge på første salen og han tager kameraet med og fortæller hvordan og hvorledes - og laver timelapse af processen. Malene kommer på besøg efter mange måneder - og hvad laver hun egentlig nu? Det runder vi - og så tager vi en status på forretningsdelen i keramikken og snakker om hvordan det går. Og så har jeg lavet kopper til et særligt par. Malene kan ikke gætte hvem de er til - men det kan du måske? \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81", 3, 1440, false, "wvCb1ystnC0", "https://www.youtube.com/watch?v=wvCb1ystnC0", "/downloads/shows/Livet på gården/Season 2026/s2026e031900 - Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81.mkv", false, ~U[2026-03-19 15:01:40Z]] 02:21:28.343 [debug] QUERY OK source="sources" db=0.1ms idle=412.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:28.343 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:21:28.344 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [150144] 02:21:28.344 [debug] Current batch of media processed. Will check again in 1000ms 02:21:29.345 [debug] Current batch of media processed. Will check again in 1000ms 02:21:30.346 [debug] Current batch of media processed. Will check again in 1000ms 02:21:31.347 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I denne video har Mikkel for alvor taget mine ord til sig og taget kameraet med ovenpå mens han er i fuld gang med gulvvarmen - han går i detaljer med hvordan han gør og hvilke tanker han har gjort sig om processen. Blandt andet fortæller han hvordan han har valgt at lave et \"svømmende gulv\". Vi er på årets første have vandring og beslutter os for nu at sætte alt ind på at den køkkenhave skal komme til at spille. Alt skal væk og etableres helt på ny!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "duration" => 1393, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e032600 - Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82.mkv", "id" => "pxD1_Ax0eMI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pxD1_Ax0eMI", "playlist_index" => 80, "timestamp" => 1774537291, "title" => "Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82", "upload_date" => "20260326"} 02:21:31.348 [debug] QUERY OK source="sources" db=0.2ms 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 (?)) [3] 02:21:31.348 [debug] QUERY OK source="sources" db=0.1ms idle=1178.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:31.349 [debug] QUERY OK source="media_items" db=0.5ms idle=1178.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-26 15:01:31Z], 3] 02:21:31.350 [debug] QUERY OK source="media_items" db=0.8ms idle=1179.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har Mikkel for alvor taget mine ord til sig og taget kameraet med ovenpå mens han er i fuld gang med gulvvarmen - han går i detaljer med hvordan han gør og hvilke tanker han har gjort sig om processen. Blandt andet fortæller han hvordan han har valgt at lave et \"svømmende gulv\". Vi er på årets første have vandring og beslutter os for nu at sætte alt ind på at den køkkenhave skal komme til at spille. Alt skal væk og etableres helt på ny!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82", "9f97c8e2-552b-47bb-829a-3d9f2d026c18", 3, [], 1393, false, "pxD1_Ax0eMI", "https://www.youtube.com/watch?v=pxD1_Ax0eMI", 80, "/downloads/shows/Livet på gården/Season 2026/s2026e032600 - Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82.mkv", false, false, false, 1, ~U[2026-03-26 15:01:31Z], ~U[2026-04-17 00:21:31Z], ~U[2026-04-17 00:21:31Z], "I denne video har Mikkel for alvor taget mine ord til sig og taget kameraet med ovenpå mens han er i fuld gang med gulvvarmen - han går i detaljer med hvordan han gør og hvilke tanker han har gjort sig om processen. Blandt andet fortæller han hvordan han har valgt at lave et \"svømmende gulv\". Vi er på årets første have vandring og beslutter os for nu at sætte alt ind på at den køkkenhave skal komme til at spille. Alt skal væk og etableres helt på ny!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82", 3, 1393, false, "pxD1_Ax0eMI", "https://www.youtube.com/watch?v=pxD1_Ax0eMI", "/downloads/shows/Livet på gården/Season 2026/s2026e032600 - Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82.mkv", false, ~U[2026-03-26 15:01:31Z]] 02:21:31.351 [debug] QUERY OK source="sources" db=0.2ms idle=416.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:31.352 [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] 02:21:31.352 [debug] QUERY OK source="media_items" db=0.3ms 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 [153491] 02:21:31.352 [debug] Current batch of media processed. Will check again in 1000ms 02:21:32.121 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:21:32.353 [debug] Current batch of media processed. Will check again in 1000ms 02:21:33.354 [debug] Current batch of media processed. Will check again in 1000ms 02:21:34.355 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit går vi for alvor igang med den stor omvæltning af køkkenhaven. Vi rydder drivhuset, fjerner alle bedene og jævner jorden så vi kan starte helt forfra. Vi har købt en drone, så som noget nyt er i også med fra luften og kan se hvordan det går når vi kører med minilæsseren, jævner sand ud og lægger helt ny ukrudtsdug. Jeg gør også klar til endnu et keramiksalg og i er med når jeg forbereder og tager billeder af alle sagerne. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "duration" => 1291, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e040200 - Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83.mkv", "id" => "dZk6prUzZkw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dZk6prUzZkw", "playlist_index" => 81, "timestamp" => 1775138455, "title" => "Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83", "upload_date" => "20260402"} 02:21:34.356 [debug] QUERY OK source="sources" db=0.3ms idle=1185.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:21:34.356 [debug] QUERY OK source="sources" db=0.2ms idle=1186.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:34.357 [debug] QUERY OK source="media_items" db=0.4ms idle=1186.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-02 14:00:55Z], 3] 02:21:34.360 [debug] QUERY OK source="media_items" db=1.8ms idle=1187.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit går vi for alvor igang med den stor omvæltning af køkkenhaven. Vi rydder drivhuset, fjerner alle bedene og jævner jorden så vi kan starte helt forfra. Vi har købt en drone, så som noget nyt er i også med fra luften og kan se hvordan det går når vi kører med minilæsseren, jævner sand ud og lægger helt ny ukrudtsdug. Jeg gør også klar til endnu et keramiksalg og i er med når jeg forbereder og tager billeder af alle sagerne. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83", "46faaa7f-8eed-47e3-bb51-efc06cb54c53", 3, [], 1291, false, "dZk6prUzZkw", "https://www.youtube.com/watch?v=dZk6prUzZkw", 81, "/downloads/shows/Livet på gården/Season 2026/s2026e040200 - Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83.mkv", false, false, false, 1, ~U[2026-04-02 14:00:55Z], ~U[2026-04-17 00:21:34Z], ~U[2026-04-17 00:21:34Z], "I dette afsnit går vi for alvor igang med den stor omvæltning af køkkenhaven. Vi rydder drivhuset, fjerner alle bedene og jævner jorden så vi kan starte helt forfra. Vi har købt en drone, så som noget nyt er i også med fra luften og kan se hvordan det går når vi kører med minilæsseren, jævner sand ud og lægger helt ny ukrudtsdug. Jeg gør også klar til endnu et keramiksalg og i er med når jeg forbereder og tager billeder af alle sagerne. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83", 3, 1291, false, "dZk6prUzZkw", "https://www.youtube.com/watch?v=dZk6prUzZkw", "/downloads/shows/Livet på gården/Season 2026/s2026e040200 - Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83.mkv", false, ~U[2026-04-02 14:00:55Z]] 02:21:34.360 [debug] QUERY OK source="sources" db=0.4ms idle=422.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:34.361 [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] 02:21:34.362 [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 [156908] 02:21:34.362 [debug] Current batch of media processed. Will check again in 1000ms 02:21:35.362 [debug] Current batch of media processed. Will check again in 1000ms 02:21:36.363 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I dette afsnit er Mikkel i fuld gang med at lave skillevægge på førstesalen. De bliver isoleret og der bliver sat pharmacell op - han fortæller hvorfor og hvordan han gør både det ene og det andet. Vi har ryddet hele mit keramikværksted, for at kunne komme igang med renoveringen - og Mikkel laver både flydespartel og laver i øvrigt også hvad han selv kalder det grimmeste fugearbejde nogensinde. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "duration" => 1232, "filename" => "/downloads/shows/Livet på gården/Season 2026/s2026e041600 - Mikkel bygger skillevægge og laver flydespartel | Livet på gården Ep. 84.mkv", "id" => "SIJsPP2BFVw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SIJsPP2BFVw", "playlist_index" => 82, "timestamp" => 1776348044, "title" => "Mikkel bygger skillevægge og laver flydespartel | Livet på gården Ep. 84", "upload_date" => "20260416"} 02:21:36.364 [debug] QUERY OK source="sources" db=0.2ms idle=423.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:21:36.364 [debug] QUERY OK source="sources" db=0.1ms idle=194.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.365 [debug] QUERY OK source="media_items" db=0.3ms idle=194.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-16 14:00:44Z], 3] 02:21:36.367 [debug] QUERY OK source="media_items" db=1.4ms idle=195.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er Mikkel i fuld gang med at lave skillevægge på førstesalen. De bliver isoleret og der bliver sat pharmacell op - han fortæller hvorfor og hvordan han gør både det ene og det andet. Vi har ryddet hele mit keramikværksted, for at kunne komme igang med renoveringen - og Mikkel laver både flydespartel og laver i øvrigt også hvad han selv kalder det grimmeste fugearbejde nogensinde. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Mikkel bygger skillevægge og laver flydespartel | Livet på gården Ep. 84", "22961c8d-cbde-44bb-8ea5-a453ab4c7c34", 3, [], 1232, false, "SIJsPP2BFVw", "https://www.youtube.com/watch?v=SIJsPP2BFVw", 82, "/downloads/shows/Livet på gården/Season 2026/s2026e041600 - Mikkel bygger skillevægge og laver flydespartel | Livet på gården Ep. 84.mkv", false, false, false, 0, ~U[2026-04-16 14:00:44Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit er Mikkel i fuld gang med at lave skillevægge på førstesalen. De bliver isoleret og der bliver sat pharmacell op - han fortæller hvorfor og hvordan han gør både det ene og det andet. Vi har ryddet hele mit keramikværksted, for at kunne komme igang med renoveringen - og Mikkel laver både flydespartel og laver i øvrigt også hvad han selv kalder det grimmeste fugearbejde nogensinde. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Mikkel bygger skillevægge og laver flydespartel | Livet på gården Ep. 84", 3, 1232, false, "SIJsPP2BFVw", "https://www.youtube.com/watch?v=SIJsPP2BFVw", "/downloads/shows/Livet på gården/Season 2026/s2026e041600 - Mikkel bygger skillevægge og laver flydespartel | Livet på gården Ep. 84.mkv", false, ~U[2026-04-16 14:00:44Z]] 02:21:36.368 [debug] QUERY OK source="sources" db=0.4ms idle=197.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.369 [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] 02:21:36.370 [debug] QUERY OK source="media_items" db=0.7ms 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 [163716] 02:21:36.370 [info] Kicking off download for media item #163716 (SIJsPP2BFVw) 02:21:36.372 [debug] QUERY OK source="tasks" db=0.2ms idle=4.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [4852, 163716, ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z]] 02:21:36.372 [debug] Current batch of media processed. Will check again in 1000ms 02:21:36.379 [info] {"args":{"id":163716},"id":4852,"meta":{},"system_time":1776385296379316166,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:21:36.380 [debug] QUERY OK source="media_items" db=0.5ms 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" = ?) [163716] 02:21:36.380 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:21:36.381 [debug] QUERY OK source="sources" db=0.4ms idle=8.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.381 [debug] QUERY OK source="media_profiles" db=0.3ms idle=9.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:21:36.382 [debug] QUERY OK source="media_items" db=0.6ms idle=9.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [163716] 02:21:36.384 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [163716] 02:21:36.384 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 02:21:36.385 [debug] QUERY OK source="settings" db=0.1ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:21:36.385 [debug] QUERY OK source="settings" db=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:21:36.386 [debug] Running yt-dlp command for action: get_downloadable_status 02:21:36.387 [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 [] 02:21:36.388 [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 [] 02:21:36.388 [debug] QUERY OK source="settings" db=0.2ms 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 [] 02:21:36.388 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SIJsPP2BFVw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0a/55/0a5517489acfeb7ae126b512f0fa528b217807bd815d1172883ffbf1c3c68d95.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:21:36.477 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/playlist?list=PLQJc0AKwP-an6_0X-ZX9pzXAHn5pQXqTd --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Livet på gården/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+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/6e/28/6e287d7b74e2c4449260ff5cab4bab062ca4c9271708a09afda1f44f0a50b70d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:21:36.481 [debug] Gracefully stopping file follower 02:21:36.483 [debug] QUERY OK source="sources" db=1.1ms queue=0.3ms idle=96.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [3] 02:21:36.483 [debug] QUERY OK source="sources" db=0.2ms idle=97.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.485 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=96.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-09 08:00:00Z], 3] 02:21:36.489 [debug] QUERY OK source="media_items" db=3.0ms queue=0.1ms idle=97.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sikke jeg har glædet mig til endelig at kunne dele denne rejse med jer. Vi er flyttet på landet! Jeg er tilbage på youtube og har taget hul på en ny begyndelse - mellem marker, dyr, og alt det andet som følger med at bo på landet. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Rotter og høns på en rasteplads | Livet på gården Ep. 1", "684164b3-0f51-4483-bc2b-c60fcda63164", 3, [], 1584, false, "0HQ2lA9SaEw", "https://www.youtube.com/watch?v=0HQ2lA9SaEw", 1, "/downloads/shows/Livet på gården/Season 2024/s2024e050900 - Rotter og høns på en rasteplads | Livet på gården Ep. 1.mp4", false, false, false, 1, ~U[2024-05-09 08:00:00Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "Sikke jeg har glædet mig til endelig at kunne dele denne rejse med jer. Vi er flyttet på landet! Jeg er tilbage på youtube og har taget hul på en ny begyndelse - mellem marker, dyr, og alt det andet som følger med at bo på landet. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Rotter og høns på en rasteplads | Livet på gården Ep. 1", 3, 1584, false, "0HQ2lA9SaEw", "https://www.youtube.com/watch?v=0HQ2lA9SaEw", "/downloads/shows/Livet på gården/Season 2024/s2024e050900 - Rotter og høns på en rasteplads | Livet på gården Ep. 1.mp4", false, ~U[2024-05-09 08:00:00Z]] 02:21:36.489 [debug] QUERY OK source="sources" db=0.2ms idle=100.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.490 [debug] QUERY OK source="media_items" db=0.5ms idle=6.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-16 14:00:32Z], 3] 02:21:36.491 [debug] QUERY OK source="media_items" db=0.8ms idle=7.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit henter vi vores hund Carla, begynder for alvor at pille huset fra hinanden og meget mere. Tak fordi du vil se med. Det betyder mere end du aner!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kriistinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får en hundehvalp | Livet på gården Ep. 2", "6a382b6d-6d1b-451f-b842-35a98a7c7838", 3, [], 1514, false, "TsAkJcpR_Io", "https://www.youtube.com/watch?v=TsAkJcpR_Io", 2, "/downloads/shows/Livet på gården/Season 2024/s2024e051600 - Vi får en hundehvalp | Livet på gården Ep. 2.mp4", false, false, false, 1, ~U[2024-05-16 14:00:32Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit henter vi vores hund Carla, begynder for alvor at pille huset fra hinanden og meget mere. Tak fordi du vil se med. Det betyder mere end du aner!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kriistinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får en hundehvalp | Livet på gården Ep. 2", 3, 1514, false, "TsAkJcpR_Io", "https://www.youtube.com/watch?v=TsAkJcpR_Io", "/downloads/shows/Livet på gården/Season 2024/s2024e051600 - Vi får en hundehvalp | Livet på gården Ep. 2.mp4", false, ~U[2024-05-16 14:00:32Z]] 02:21:36.492 [debug] QUERY OK source="sources" db=0.3ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.493 [debug] QUERY OK source="media_items" db=0.8ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-23 14:00:44Z], 3] 02:21:36.495 [debug] QUERY OK source="media_items" db=1.1ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dagens afsnit er der mangel på overskud, og en hulens masse sand. Tak fordi du ser med \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi graver ud i huset | Livet på gården Ep.3", "c4ccbb14-da4e-464e-a476-7fae23027280", 3, [], 1483, false, "mzYiI1eVSe8", "https://www.youtube.com/watch?v=mzYiI1eVSe8", 3, "/downloads/shows/Livet på gården/Season 2024/s2024e052300 - Vi graver ud i huset | Livet på gården Ep.3.mp4", false, false, false, 1, ~U[2024-05-23 14:00:44Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dagens afsnit er der mangel på overskud, og en hulens masse sand. Tak fordi du ser med \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\nTikTok: @kristinesloth4\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi graver ud i huset | Livet på gården Ep.3", 3, 1483, false, "mzYiI1eVSe8", "https://www.youtube.com/watch?v=mzYiI1eVSe8", "/downloads/shows/Livet på gården/Season 2024/s2024e052300 - Vi graver ud i huset | Livet på gården Ep.3.mp4", false, ~U[2024-05-23 14:00:44Z]] 02:21:36.496 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.497 [debug] QUERY OK source="media_items" db=0.8ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-30 14:00:02Z], 3] 02:21:36.498 [debug] QUERY OK source="media_items" db=0.8ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dagens afsnit bryder en hest ind i den lille ladelejlighed, der har været ubehageligt besøg i hønsehuset og så er der for alvor kommet gang i køkkenhaven. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "En hest i stuen og døde høns | Livet på gården Ep. 4", "d3ee62fe-17e4-4c50-a57f-33e8ea93c563", 3, [], 2520, false, "0jEgoy_T4E4", "https://www.youtube.com/watch?v=0jEgoy_T4E4", 4, "/downloads/shows/Livet på gården/Season 2024/s2024e053000 - En hest i stuen og døde høns | Livet på gården Ep. 4.mp4", false, false, false, 1, ~U[2024-05-30 14:00:02Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dagens afsnit bryder en hest ind i den lille ladelejlighed, der har været ubehageligt besøg i hønsehuset og så er der for alvor kommet gang i køkkenhaven. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "En hest i stuen og døde høns | Livet på gården Ep. 4", 3, 2520, false, "0jEgoy_T4E4", "https://www.youtube.com/watch?v=0jEgoy_T4E4", "/downloads/shows/Livet på gården/Season 2024/s2024e053000 - En hest i stuen og døde høns | Livet på gården Ep. 4.mp4", false, ~U[2024-05-30 14:00:02Z]] 02:21:36.499 [debug] QUERY OK source="sources" db=0.2ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.500 [debug] QUERY OK source="media_items" db=0.4ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-06 14:00:57Z], 3] 02:21:36.501 [debug] QUERY OK source="media_items" db=0.8ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit får vores høne Karen kyllinger, vi renoverer stadig derudaf og så får vi leveret køkken. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får kyllinger og køkken | Livet på gården Ep.5", "02f382db-4585-437a-ae58-a6683c53026f", 3, [], 2357, false, "w_MEeum-cxQ", "https://www.youtube.com/watch?v=w_MEeum-cxQ", 5, "/downloads/shows/Livet på gården/Season 2024/s2024e060600 - Vi får kyllinger og køkken | Livet på gården Ep.5.mp4", false, false, false, 1, ~U[2024-06-06 14:00:57Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit får vores høne Karen kyllinger, vi renoverer stadig derudaf og så får vi leveret køkken. Tak fordi du ser med!\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vi får kyllinger og køkken | Livet på gården Ep.5", 3, 2357, false, "w_MEeum-cxQ", "https://www.youtube.com/watch?v=w_MEeum-cxQ", "/downloads/shows/Livet på gården/Season 2024/s2024e060600 - Vi får kyllinger og køkken | Livet på gården Ep.5.mp4", false, ~U[2024-06-06 14:00:57Z]] 02:21:36.501 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.502 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-13 14:00:14Z], 3] 02:21:36.503 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode kan man roligt sige at der er kaos på gården. Midt i renoveringen får vi besøg af flere millioner blodmider, som er ved at suge blod fra alle hønsene. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6", "8dbde6b6-50fa-499a-a2c4-4209464737e8", 3, [], 1911, false, "LgpqgWbzuiM", "https://www.youtube.com/watch?v=LgpqgWbzuiM", 6, "/downloads/shows/Livet på gården/Season 2024/s2024e061300 - Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6.mp4", false, false, false, 1, ~U[2024-06-13 14:00:14Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I denne episode kan man roligt sige at der er kaos på gården. Midt i renoveringen får vi besøg af flere millioner blodmider, som er ved at suge blod fra alle hønsene. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6", 3, 1911, false, "LgpqgWbzuiM", "https://www.youtube.com/watch?v=LgpqgWbzuiM", "/downloads/shows/Livet på gården/Season 2024/s2024e061300 - Kæmpe KAOS. Blodmider OVERALT! | Livet på gården Ep. 6.mp4", false, ~U[2024-06-13 14:00:14Z]] 02:21:36.504 [debug] QUERY OK source="sources" db=0.3ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.505 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-20 14:00:44Z], 3] 02:21:36.506 [debug] QUERY OK source="media_items" db=0.8ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der mere kaos, både da vores heste stikker af om natten og en meget tung bordplade skal på plads. Og så er Mikkel udkørt. Meget udkørt.\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vores heste stikker af | Livet på gården Ep. 7", "8182ed2c-ea0b-4cf7-a223-84ff339d7b51", 3, [], 1808, false, "tPMYODqzWfI", "https://www.youtube.com/watch?v=tPMYODqzWfI", 7, "/downloads/shows/Livet på gården/Season 2024/s2024e062000 - Vores heste stikker af | Livet på gården Ep. 7.mp4", false, false, false, 1, ~U[2024-06-20 14:00:44Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit er der mere kaos, både da vores heste stikker af om natten og en meget tung bordplade skal på plads. Og så er Mikkel udkørt. Meget udkørt.\r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Vores heste stikker af | Livet på gården Ep. 7", 3, 1808, false, "tPMYODqzWfI", "https://www.youtube.com/watch?v=tPMYODqzWfI", "/downloads/shows/Livet på gården/Season 2024/s2024e062000 - Vores heste stikker af | Livet på gården Ep. 7.mp4", false, ~U[2024-06-20 14:00:44Z]] 02:21:36.507 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.507 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-27 14:00:03Z], 3] 02:21:36.509 [debug] QUERY OK source="media_items" db=0.7ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der vand OVERALT, heste flytter hjemmefra og så får vi virkelig rykket på sager i huset - hvilket er meget tiltrængt, da vinteren nærmer sig med hastige skridt. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8", "c1e6381e-2419-4550-9893-4401e925870e", 3, [], 2043, false, "5w4Zkb-V2fE", "https://www.youtube.com/watch?v=5w4Zkb-V2fE", 8, "/downloads/shows/Livet på gården/Season 2024/s2024e062700 - Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8.mp4", false, false, false, 1, ~U[2024-06-27 14:00:03Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit er der vand OVERALT, heste flytter hjemmefra og så får vi virkelig rykket på sager i huset - hvilket er meget tiltrængt, da vinteren nærmer sig med hastige skridt. \r\n\r\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8", 3, 2043, false, "5w4Zkb-V2fE", "https://www.youtube.com/watch?v=5w4Zkb-V2fE", "/downloads/shows/Livet på gården/Season 2024/s2024e062700 - Oversvømmelse og nyt badeværelse | Livet på gården Ep. 8.mp4", false, ~U[2024-06-27 14:00:03Z]] 02:21:36.509 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.510 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-04 14:00:14Z], 3] 02:21:36.511 [debug] QUERY OK source="media_items" db=0.6ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit runder vi har for denne gang, flytter ind i huset og viser rundt.\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "House tour | Livet på gården Ep. 9", "da76118f-e187-486b-acf6-b86f1e05d38f", 3, [], 2059, false, "KotEK3OaF80", "https://www.youtube.com/watch?v=KotEK3OaF80", 9, "/downloads/shows/Livet på gården/Season 2024/s2024e070400 - House tour | Livet på gården Ep. 9.mp4", false, false, false, 1, ~U[2024-07-04 14:00:14Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit runder vi har for denne gang, flytter ind i huset og viser rundt.\n------------------------------------------------------------------------------------------------------------\r\n\r\n► MINE SOCIALE MEDIER\r\nInstagram: @kristiinesloth\r\n\r\n-----------------------------------------------------------------------------------------------------------------\r\n\r\nBuisness mail: business@kristinesloth.dk", "House tour | Livet på gården Ep. 9", 3, 2059, false, "KotEK3OaF80", "https://www.youtube.com/watch?v=KotEK3OaF80", "/downloads/shows/Livet på gården/Season 2024/s2024e070400 - House tour | Livet på gården Ep. 9.mp4", false, ~U[2024-07-04 14:00:14Z]] 02:21:36.512 [debug] QUERY OK source="sources" db=0.2ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.512 [debug] QUERY OK source="media_items" db=0.5ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-18 14:00:09Z], 3] 02:21:36.514 [debug] QUERY OK source="media_items" db=0.8ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har vi desværre haft besøg af måren som har taget liv af næsten alle vores høns, jeg udruger kyllinger i rugemaskine og så er der så småt ved at være gang i haven i det tidlige forår. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Måren har dræbt vores høns | Livet på gården Ep. 10", "c65f308e-c645-40ac-a3bc-d9f0db990919", 3, [], 1462, false, "ACbhu-bCkCs", "https://www.youtube.com/watch?v=ACbhu-bCkCs", 10, "/downloads/shows/Livet på gården/Season 2024/s2024e071800 - Måren har dræbt vores høns | Livet på gården Ep. 10.mp4", false, false, false, 1, ~U[2024-07-18 14:00:09Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit har vi desværre haft besøg af måren som har taget liv af næsten alle vores høns, jeg udruger kyllinger i rugemaskine og så er der så småt ved at være gang i haven i det tidlige forår. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Måren har dræbt vores høns | Livet på gården Ep. 10", 3, 1462, false, "ACbhu-bCkCs", "https://www.youtube.com/watch?v=ACbhu-bCkCs", "/downloads/shows/Livet på gården/Season 2024/s2024e071800 - Måren har dræbt vores høns | Livet på gården Ep. 10.mp4", false, ~U[2024-07-18 14:00:09Z]] 02:21:36.514 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.515 [debug] QUERY OK source="media_items" db=0.4ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-25 14:00:21Z], 3] 02:21:36.516 [debug] QUERY OK source="media_items" db=0.7ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit står hønsehuset endelig færdigt og der flytter nye damer ind i gården. Der er ogs fuld fart på rugemaskinen, dog med dårligt held. Og så er vi ved at gøre haven klar til sæsonen. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nye høns og havearbejde | Livet på gården Ep. 11", "9a022f3a-9a36-4da6-b075-ab50042a9d67", 3, [], 1666, false, "Sk2CUC0pUsw", "https://www.youtube.com/watch?v=Sk2CUC0pUsw", 11, "/downloads/shows/Livet på gården/Season 2024/s2024e072500 - Nye høns og havearbejde | Livet på gården Ep. 11.mp4", false, false, false, 1, ~U[2024-07-25 14:00:21Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit står hønsehuset endelig færdigt og der flytter nye damer ind i gården. Der er ogs fuld fart på rugemaskinen, dog med dårligt held. Og så er vi ved at gøre haven klar til sæsonen. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nye høns og havearbejde | Livet på gården Ep. 11", 3, 1666, false, "Sk2CUC0pUsw", "https://www.youtube.com/watch?v=Sk2CUC0pUsw", "/downloads/shows/Livet på gården/Season 2024/s2024e072500 - Nye høns og havearbejde | Livet på gården Ep. 11.mp4", false, ~U[2024-07-25 14:00:21Z]] 02:21:36.517 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.517 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-01 14:00:42Z], 3] 02:21:36.519 [debug] QUERY OK source="media_items" db=0.7ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har jeg fuld gang i forspiringen, vi laver højbede og har taget en stor beslutning omkring vores 2 heste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Heste og højbede | Livet på gården Ep. 12", "94ec9157-14c3-4e5d-81b4-cd49408cda0d", 3, [], 1747, false, "npE-BTzFMWc", "https://www.youtube.com/watch?v=npE-BTzFMWc", 12, "/downloads/shows/Livet på gården/Season 2024/s2024e080100 - Heste og højbede | Livet på gården Ep. 12.mp4", false, false, false, 1, ~U[2024-08-01 14:00:42Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I denne video har jeg fuld gang i forspiringen, vi laver højbede og har taget en stor beslutning omkring vores 2 heste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Heste og højbede | Livet på gården Ep. 12", 3, 1747, false, "npE-BTzFMWc", "https://www.youtube.com/watch?v=npE-BTzFMWc", "/downloads/shows/Livet på gården/Season 2024/s2024e080100 - Heste og højbede | Livet på gården Ep. 12.mp4", false, ~U[2024-08-01 14:00:42Z]] 02:21:36.519 [debug] QUERY OK source="sources" db=0.4ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.520 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-08 14:00:44Z], 3] 02:21:36.521 [debug] QUERY OK source="media_items" db=0.7ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har vi taget en stor beslutning om at der skal flytte nye firebenede ind på marken, og vores kat Willy har kræft i øjet - og får det fjernet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13", "049cc6c7-8dbe-4c44-b7c4-54f236f38183", 3, [], 1645, false, "mBkf-1EFsdE", "https://www.youtube.com/watch?v=mBkf-1EFsdE", 13, "/downloads/shows/Livet på gården/Season 2024/s2024e080800 - Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13.mp4", false, false, false, 1, ~U[2024-08-08 14:00:44Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit har vi taget en stor beslutning om at der skal flytte nye firebenede ind på marken, og vores kat Willy har kræft i øjet - og får det fjernet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13", 3, 1645, false, "mBkf-1EFsdE", "https://www.youtube.com/watch?v=mBkf-1EFsdE", "/downloads/shows/Livet på gården/Season 2024/s2024e080800 - Vi skal have grise og Willy får fjernet sit øje | Livet på gården Ep. 13.mp4", false, ~U[2024-08-08 14:00:44Z]] 02:21:36.522 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.523 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-15 14:00:16Z], 3] 02:21:36.524 [debug] QUERY OK source="media_items" db=0.7ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit får vi endelig grise, Felix er på besøg og jeg har nogle lidt svære dage. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "VI HAR FÅET GRISE! | Livet på gården Ep. 14", "feac35dc-232c-4ebc-9f9f-1c86134c25d3", 3, [], 1651, false, "EKIo-bTmT5I", "https://www.youtube.com/watch?v=EKIo-bTmT5I", 14, "/downloads/shows/Livet på gården/Season 2024/s2024e081500 - VI HAR FÅET GRISE! | Livet på gården Ep. 14.mp4", false, false, false, 1, ~U[2024-08-15 14:00:16Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit får vi endelig grise, Felix er på besøg og jeg har nogle lidt svære dage. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "VI HAR FÅET GRISE! | Livet på gården Ep. 14", 3, 1651, false, "EKIo-bTmT5I", "https://www.youtube.com/watch?v=EKIo-bTmT5I", "/downloads/shows/Livet på gården/Season 2024/s2024e081500 - VI HAR FÅET GRISE! | Livet på gården Ep. 14.mp4", false, ~U[2024-08-15 14:00:16Z]] 02:21:36.524 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.525 [debug] QUERY OK source="media_items" db=0.4ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-22 14:00:53Z], 3] 02:21:36.526 [debug] QUERY OK source="media_items" db=0.7ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har jeg nogle dårlige dage, jeg taler om mine diagnose, og så er der kommet godt gang i køkkenhaven - og dræbersneglene. Derudover må jeg tage livet af en kylling, fordi de andre er nogle bæster. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Diagnose og dræbersnegle | Livet på gården Ep. 15", "7693404d-2561-4f62-a7a0-03051295b35c", 3, [], 1505, false, "tVgdZ9ycitU", "https://www.youtube.com/watch?v=tVgdZ9ycitU", 15, "/downloads/shows/Livet på gården/Season 2024/s2024e082200 - Diagnose og dræbersnegle | Livet på gården Ep. 15.mp4", false, false, false, 1, ~U[2024-08-22 14:00:53Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I denne video har jeg nogle dårlige dage, jeg taler om mine diagnose, og så er der kommet godt gang i køkkenhaven - og dræbersneglene. Derudover må jeg tage livet af en kylling, fordi de andre er nogle bæster. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Diagnose og dræbersnegle | Livet på gården Ep. 15", 3, 1505, false, "tVgdZ9ycitU", "https://www.youtube.com/watch?v=tVgdZ9ycitU", "/downloads/shows/Livet på gården/Season 2024/s2024e082200 - Diagnose og dræbersnegle | Livet på gården Ep. 15.mp4", false, ~U[2024-08-22 14:00:53Z]] 02:21:36.527 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.528 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-29 14:00:26Z], 3] 02:21:36.529 [debug] QUERY OK source="media_items" db=0.9ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer der 5 nye liv til verden, når Connie føder sine små griseunger, vi gør klar til sankt hans og så har vi fået et nyt projekt, nemlig at renovere det gamle fyrrum om til keramikværksted.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Grisefødsel og sankt hans på gården | Livet på gården Ep. 16", "f44981b5-83eb-442e-9191-0e61be200093", 3, [], 1871, false, "X-mJfUiB8oE", "https://www.youtube.com/watch?v=X-mJfUiB8oE", 16, "/downloads/shows/Livet på gården/Season 2024/s2024e082900 - Grisefødsel og sankt hans på gården | Livet på gården Ep. 16.mp4", false, false, false, 1, ~U[2024-08-29 14:00:26Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit kommer der 5 nye liv til verden, når Connie føder sine små griseunger, vi gør klar til sankt hans og så har vi fået et nyt projekt, nemlig at renovere det gamle fyrrum om til keramikværksted.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Grisefødsel og sankt hans på gården | Livet på gården Ep. 16", 3, 1871, false, "X-mJfUiB8oE", "https://www.youtube.com/watch?v=X-mJfUiB8oE", "/downloads/shows/Livet på gården/Season 2024/s2024e082900 - Grisefødsel og sankt hans på gården | Livet på gården Ep. 16.mp4", false, ~U[2024-08-29 14:00:26Z]] 02:21:36.530 [debug] QUERY OK source="sources" db=0.3ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.530 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-19 14:00:08Z], 3] 02:21:36.533 [debug] QUERY OK source="media_items" db=1.9ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit sætter jeg mit keramik til salg for anden gang, med kæmpe sommerfugle i maven, jeg kører akut hjem fra en fødselsdag fordi det ligner at Helle er ved at føde - og så starter vi renoveringen af det nye værksted!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Keramiksalg og nyt værksted | Livet på gården Ep. 19", "1b07eb74-9a29-4744-a225-61608c09f22f", 3, [], 1643, false, "ACPmnpI3fvU", "https://www.youtube.com/watch?v=ACPmnpI3fvU", 17, "/downloads/shows/Livet på gården/Season 2024/s2024e091900 - Keramiksalg og nyt værksted | Livet på gården Ep. 19.mp4", false, false, false, 1, ~U[2024-09-19 14:00:08Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit sætter jeg mit keramik til salg for anden gang, med kæmpe sommerfugle i maven, jeg kører akut hjem fra en fødselsdag fordi det ligner at Helle er ved at føde - og så starter vi renoveringen af det nye værksted!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Keramiksalg og nyt værksted | Livet på gården Ep. 19", 3, 1643, false, "ACPmnpI3fvU", "https://www.youtube.com/watch?v=ACPmnpI3fvU", "/downloads/shows/Livet på gården/Season 2024/s2024e091900 - Keramiksalg og nyt værksted | Livet på gården Ep. 19.mp4", false, ~U[2024-09-19 14:00:08Z]] 02:21:36.533 [debug] QUERY OK source="sources" db=0.2ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.534 [debug] QUERY OK source="media_items" db=0.4ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-12 14:01:03Z], 3] 02:21:36.535 [debug] QUERY OK source="media_items" db=0.7ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for IKEA.\n\nI denne video handler det om søvn og soveværelse. IKEA har nemlig spurgt mig om ikke jeg kunne have lyst til at få bygget vores kommende soveværelse i deres showroom i Aalborg. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBusiness mail: business@kristinesloth.dk", "Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18", "877bfd32-6877-4698-8861-2ed79bf65d89", 3, [], 1387, false, "yzoiqawrf90", "https://www.youtube.com/watch?v=yzoiqawrf90", 18, "/downloads/shows/Livet på gården/Season 2024/s2024e091200 - Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18.mp4", false, false, false, 1, ~U[2024-09-12 14:01:03Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "Denne video indeholder reklame for IKEA.\n\nI denne video handler det om søvn og soveværelse. IKEA har nemlig spurgt mig om ikke jeg kunne have lyst til at få bygget vores kommende soveværelse i deres showroom i Aalborg. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBusiness mail: business@kristinesloth.dk", "Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18", 3, 1387, false, "yzoiqawrf90", "https://www.youtube.com/watch?v=yzoiqawrf90", "/downloads/shows/Livet på gården/Season 2024/s2024e091200 - Jeg får bygget mit soveværelse i IKEA | Livet på gården Ep. 18.mp4", false, ~U[2024-09-12 14:01:03Z]] 02:21:36.536 [debug] QUERY OK source="sources" db=0.3ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.537 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-03 14:00:34Z], 3] 02:21:36.538 [debug] QUERY OK source="media_items" db=1.0ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit besøger jeg for første gang dyrenes beskyttelse som ambassadør. En hel dag fyldt med magiske dyr, der bare drømmer om at nogen vil have dem til at bo hos sig. Jeg havde taget dem alle sammen hvis jeg måtte for Mikkel. \n\nDu kan læse mere om dyrenes beskyttelse og deres arbejde, samt se alle de dyr der er til adoption lige her: https://www.dyrenesbeskyttelse.dk/\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En hel dag på dyreinternat | Livet på gården Ep. 21", "57aa5be2-7dc7-45b0-b819-9fccdbd3861f", 3, [], 1742, false, "UlJfAh2C0fE", "https://www.youtube.com/watch?v=UlJfAh2C0fE", 19, "/downloads/shows/Livet på gården/Season 2024/s2024e100300 - En hel dag på dyreinternat | Livet på gården Ep. 21.mp4", false, false, false, 1, ~U[2024-10-03 14:00:34Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit besøger jeg for første gang dyrenes beskyttelse som ambassadør. En hel dag fyldt med magiske dyr, der bare drømmer om at nogen vil have dem til at bo hos sig. Jeg havde taget dem alle sammen hvis jeg måtte for Mikkel. \n\nDu kan læse mere om dyrenes beskyttelse og deres arbejde, samt se alle de dyr der er til adoption lige her: https://www.dyrenesbeskyttelse.dk/\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En hel dag på dyreinternat | Livet på gården Ep. 21", 3, 1742, false, "UlJfAh2C0fE", "https://www.youtube.com/watch?v=UlJfAh2C0fE", "/downloads/shows/Livet på gården/Season 2024/s2024e100300 - En hel dag på dyreinternat | Livet på gården Ep. 21.mp4", false, ~U[2024-10-03 14:00:34Z]] 02:21:36.539 [debug] QUERY OK source="sources" db=0.2ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.540 [debug] QUERY OK source="media_items" db=0.4ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-10 14:00:09Z], 3] 02:21:36.542 [debug] QUERY OK source="media_items" db=1.8ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit får vi sat det sidste præg på værkstedet, og Mikkel får sin vilje og maler den skrigepink over med beige. Malene og jeg har som opgave at indrette og gøre det brugbart - og faktisk ender det med at blive virkelig godt. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22", "8aeead96-c5c1-40d5-94bb-27f4993b8de5", 3, [], 1514, false, "5fUjlgO0xVU", "https://www.youtube.com/watch?v=5fUjlgO0xVU", 20, "/downloads/shows/Livet på gården/Season 2024/s2024e101000 - Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22.mp4", false, false, false, 1, ~U[2024-10-10 14:00:09Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit får vi sat det sidste præg på værkstedet, og Mikkel får sin vilje og maler den skrigepink over med beige. Malene og jeg har som opgave at indrette og gøre det brugbart - og faktisk ender det med at blive virkelig godt. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22", 3, 1514, false, "5fUjlgO0xVU", "https://www.youtube.com/watch?v=5fUjlgO0xVU", "/downloads/shows/Livet på gården/Season 2024/s2024e101000 - Værkstedstour og bilsnak med Malene | Livet på gården Ep. 22.mp4", false, ~U[2024-10-10 14:00:09Z]] 02:21:36.543 [debug] QUERY OK source="sources" db=0.3ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.543 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-17 14:00:04Z], 3] 02:21:36.545 [debug] QUERY OK source="media_items" db=0.7ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i med igennem hele processen af hvordan jeg laver mit keramik.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Lav keramik med mig - fra start til slut | Livet på gården Ep. 23", "037244ca-e590-482b-b64c-f131cc9cd902", 3, [], 1892, false, "1FSZw5q8Zaw", "https://www.youtube.com/watch?v=1FSZw5q8Zaw", 21, "/downloads/shows/Livet på gården/Season 2024/s2024e101700 - Lav keramik med mig - fra start til slut | Livet på gården Ep. 23.mp4", false, false, false, 1, ~U[2024-10-17 14:00:04Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit kommer i med igennem hele processen af hvordan jeg laver mit keramik.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Lav keramik med mig - fra start til slut | Livet på gården Ep. 23", 3, 1892, false, "1FSZw5q8Zaw", "https://www.youtube.com/watch?v=1FSZw5q8Zaw", "/downloads/shows/Livet på gården/Season 2024/s2024e101700 - Lav keramik med mig - fra start til slut | Livet på gården Ep. 23.mp4", false, ~U[2024-10-17 14:00:04Z]] 02:21:36.545 [debug] QUERY OK source="sources" db=0.2ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.546 [debug] QUERY OK source="media_items" db=0.3ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-24 14:00:05Z], 3] 02:21:36.547 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er Felix på besøg og hjælper til med at tømme keramikovnen, vores store orpington skrukker og køkkenhaven er begyndt at give grøntsager - dog meget sparsomt, da sommeren i år har været fyldt med køkkenhave-fjender. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24", "eecb1f8b-27f3-426a-adcd-db75828c83d5", 3, [], 2101, false, "6vrGogQTGw8", "https://www.youtube.com/watch?v=6vrGogQTGw8", 22, "/downloads/shows/Livet på gården/Season 2024/s2024e102400 - Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24.mp4", false, false, false, 1, ~U[2024-10-24 14:00:05Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit er Felix på besøg og hjælper til med at tømme keramikovnen, vores store orpington skrukker og køkkenhaven er begyndt at give grøntsager - dog meget sparsomt, da sommeren i år har været fyldt med køkkenhave-fjender. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24", 3, 2101, false, "6vrGogQTGw8", "https://www.youtube.com/watch?v=6vrGogQTGw8", "/downloads/shows/Livet på gården/Season 2024/s2024e102400 - Felix på besøg og høsttid i køkkenhaven | Livet på gården Ep. 24.mp4", false, ~U[2024-10-24 14:00:05Z]] 02:21:36.548 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.548 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-26 14:57:22Z], 3] 02:21:36.550 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Vi skal være forældre ❤️\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit)", "9772d999-3b97-4037-8e36-231789e4eb74", 3, [], 1195, false, "fszG4EUNQSw", "https://www.youtube.com/watch?v=fszG4EUNQSw", 23, "/downloads/shows/Livet på gården/Season 2024/s2024e102600 - Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit).mp4", false, false, false, 1, ~U[2024-10-26 14:57:22Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "Vi skal være forældre ❤️\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit)", 3, 1195, false, "fszG4EUNQSw", "https://www.youtube.com/watch?v=fszG4EUNQSw", "/downloads/shows/Livet på gården/Season 2024/s2024e102600 - Vi skal være forældre! | Livet på gården Ep. 25 (særafsnit).mp4", false, ~U[2024-10-26 14:57:22Z]] 02:21:36.550 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.551 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-31 15:01:02Z], 3] 02:21:36.552 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video fortæller vi mange af dem vi elsker at vi skal være forældre!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26", "aa83f933-153c-488c-a7c2-48aef37c1b45", 3, [], 845, false, "knLNbZN-U8I", "https://www.youtube.com/watch?v=knLNbZN-U8I", 24, "/downloads/shows/Livet på gården/Season 2024/s2024e103100 - Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26.mp4", false, false, false, 1, ~U[2024-10-31 15:01:02Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I denne video fortæller vi mange af dem vi elsker at vi skal være forældre!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26", 3, 845, false, "knLNbZN-U8I", "https://www.youtube.com/watch?v=knLNbZN-U8I", "/downloads/shows/Livet på gården/Season 2024/s2024e103100 - Vi fortæller vores familie og venner at jeg er gravid! | Livet på gården Ep. 26.mp4", false, ~U[2024-10-31 15:01:02Z]] 02:21:36.553 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.554 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-07 15:00:19Z], 3] 02:21:36.555 [debug] QUERY OK source="media_items" db=0.8ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er jeg kommet til at købe nye høns igen, fordi 21 ikke var nok, og Mikkel henter dem med mig. Vores ene gris er blevet døv, og så er der fuld gang i den, i keramik værkstedet med pat-kopper og ovntømning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27", "bf752ad4-1f1e-445c-b9ac-310d74bbd1f8", 3, [], 1621, false, "JyiMi5ofXPw", "https://www.youtube.com/watch?v=JyiMi5ofXPw", 25, "/downloads/shows/Livet på gården/Season 2024/s2024e110700 - Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27.mp4", false, false, false, 1, ~U[2024-11-07 15:00:19Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit er jeg kommet til at købe nye høns igen, fordi 21 ikke var nok, og Mikkel henter dem med mig. Vores ene gris er blevet døv, og så er der fuld gang i den, i keramik værkstedet med pat-kopper og ovntømning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27", 3, 1621, false, "JyiMi5ofXPw", "https://www.youtube.com/watch?v=JyiMi5ofXPw", "/downloads/shows/Livet på gården/Season 2024/s2024e110700 - Hønsehaul og succes i keramikværkstedet | Livet på gården Ep. 27.mp4", false, ~U[2024-11-07 15:00:19Z]] 02:21:36.556 [debug] QUERY OK source="sources" db=0.3ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.556 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-14 15:00:51Z], 3] 02:21:36.558 [debug] QUERY OK source="media_items" db=0.9ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi en kort tur i IKEA, pludseligt og voldsomt bliver en af vores små grise syge og må aflives - det samme få dage efter, og vi kender ikke årsagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Døde grise og kæmpe krise | Livet på gården Ep. 28", "0c6d719b-1006-4725-a04c-31808bc5d673", 3, [], 1506, false, "jEs2qt9f4cQ", "https://www.youtube.com/watch?v=jEs2qt9f4cQ", 26, "/downloads/shows/Livet på gården/Season 2024/s2024e111400 - Døde grise og kæmpe krise | Livet på gården Ep. 28.mp4", false, false, false, 1, ~U[2024-11-14 15:00:51Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit er vi en kort tur i IKEA, pludseligt og voldsomt bliver en af vores små grise syge og må aflives - det samme få dage efter, og vi kender ikke årsagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Døde grise og kæmpe krise | Livet på gården Ep. 28", 3, 1506, false, "jEs2qt9f4cQ", "https://www.youtube.com/watch?v=jEs2qt9f4cQ", "/downloads/shows/Livet på gården/Season 2024/s2024e111400 - Døde grise og kæmpe krise | Livet på gården Ep. 28.mp4", false, ~U[2024-11-14 15:00:51Z]] 02:21:36.558 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.559 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-21 15:00:26Z], 3] 02:21:36.560 [debug] QUERY OK source="media_items" db=0.7ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der en høne som er blevet syg, og er flyttet ind i stuen til Mikkel kommer hjem og må klare sagerne. Hvidløgene skal i jorden inden frosten, og så er der flytter rotter ind på loftet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29", "8c86dccb-168c-43cd-b499-8d1a7a844006", 3, [], 1529, false, "RfFqKyedfAE", "https://www.youtube.com/watch?v=RfFqKyedfAE", 27, "/downloads/shows/Livet på gården/Season 2024/s2024e112100 - Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29.mp4", false, false, false, 1, ~U[2024-11-21 15:00:26Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit er der en høne som er blevet syg, og er flyttet ind i stuen til Mikkel kommer hjem og må klare sagerne. Hvidløgene skal i jorden inden frosten, og så er der flytter rotter ind på loftet. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29", 3, 1529, false, "RfFqKyedfAE", "https://www.youtube.com/watch?v=RfFqKyedfAE", "/downloads/shows/Livet på gården/Season 2024/s2024e112100 - Vi sætter hvidløg og har rotter på loftet | Livet på gården Ep. 29.mp4", false, ~U[2024-11-21 15:00:26Z]] 02:21:36.561 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.561 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-28 15:00:36Z], 3] 02:21:36.563 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der endnu engang ikke held ved grisene. Vores elskede Connie har fået en stor byld og er generelt svag. Rotterne har invarderet gården - og Mikkels tanker, og så begynder vi så småt at gøre os tanker om renoveringen af overetagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30", "d26abb38-6e47-4a0f-8477-f027d753edbb", 3, [], 1708, false, "X73rI43iuD4", "https://www.youtube.com/watch?v=X73rI43iuD4", 28, "/downloads/shows/Livet på gården/Season 2024/s2024e112800 - En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30.mp4", false, false, false, 1, ~U[2024-11-28 15:00:36Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit er der endnu engang ikke held ved grisene. Vores elskede Connie har fået en stor byld og er generelt svag. Rotterne har invarderet gården - og Mikkels tanker, og så begynder vi så småt at gøre os tanker om renoveringen af overetagen. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30", 3, 1708, false, "X73rI43iuD4", "https://www.youtube.com/watch?v=X73rI43iuD4", "/downloads/shows/Livet på gården/Season 2024/s2024e112800 - En udfordret Mikkel og endnu en syg gris| Livet på gården Ep. 30.mp4", false, ~U[2024-11-28 15:00:36Z]] 02:21:36.563 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.564 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-02 15:00:53Z], 3] 02:21:36.565 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores grise stikker af | Livet på gården Ep. 31", "2d22a32e-0ab5-43ea-8729-18d8c745c47a", 3, [], 1586, false, "mdvG-5UJYRw", "https://www.youtube.com/watch?v=mdvG-5UJYRw", 29, "/downloads/shows/Livet på gården/Season 2025/s2025e010200 - Vores grise stikker af | Livet på gården Ep. 31.mp4", false, false, false, 1, ~U[2025-01-02 15:00:53Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores grise stikker af | Livet på gården Ep. 31", 3, 1586, false, "mdvG-5UJYRw", "https://www.youtube.com/watch?v=mdvG-5UJYRw", "/downloads/shows/Livet på gården/Season 2025/s2025e010200 - Vores grise stikker af | Livet på gården Ep. 31.mp4", false, ~U[2025-01-02 15:00:53Z]] 02:21:36.566 [debug] QUERY OK source="sources" db=0.2ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.567 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-09 15:01:02Z], 3] 02:21:36.568 [debug] QUERY OK source="media_items" db=0.7ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video er vi til 20 ugers scanning med en sund og rask baby, og finder ud af hvad kønnet er. Vi køber nyt spisebord, får nye æggefarver, opdager en ny hane og så har jeg nesting syndrom.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32", "4434cd1c-e8ee-4b0e-9687-d262153cf352", 3, [], 1189, false, "in68bPvRI18", "https://www.youtube.com/watch?v=in68bPvRI18", 30, "/downloads/shows/Livet på gården/Season 2025/s2025e010900 - Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32.mp4", false, false, false, 1, ~U[2025-01-09 15:01:02Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I denne video er vi til 20 ugers scanning med en sund og rask baby, og finder ud af hvad kønnet er. Vi køber nyt spisebord, får nye æggefarver, opdager en ny hane og så har jeg nesting syndrom.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32", 3, 1189, false, "in68bPvRI18", "https://www.youtube.com/watch?v=in68bPvRI18", "/downloads/shows/Livet på gården/Season 2025/s2025e010900 - Kønnet på vores baby og nye æggefarver | Livet på gården Ep. 32.mp4", false, ~U[2025-01-09 15:01:02Z]] 02:21:36.569 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.569 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-16 15:00:13Z], 3] 02:21:36.571 [debug] QUERY OK source="media_items" db=0.9ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne gang i livet på gården kommer i med i køkkenet. Vinteren er over os, og jeg bruger meget tid indendøre, da dyrene er i ro og naturen er i dvale. Jeg elsker at lave mad, så se med på hvad jeg spiser på en dag, samt en omgang cookie bagning. Opskriften er denne: \n\nOpskrift til ca. 35 cookies\nDu skal bruge:\n240 g blødt smør\n300 g brun farin\n100 g sukker\n2 æg\n420 g hvedemel\n2 tsk bagepulver\n1 tsk natron\n2 tsk salt\n300 g chokolade\n\nPisk smør, sukker og brun farin sammen. Tilsæt æg og pisk med.\n\nTilsæt hvedemel, natron, bagepulver og salt. Pisk sammen.\n\nHak chokolade og vend det i dejen.\n\nTænd ovnen på 200 grader varmluft.\n\nForm kugler af dejen eller brug en isske.\n\nBag i ca. 10 min, til kanterne er gyldne, men midten stadig er “flydende”. Afkøl til de har sat sig. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33", "cb31c99e-4fc4-4dda-99d7-228462b769b3", 3, [], 1320, false, "7eqGNG6x48o", "https://www.youtube.com/watch?v=7eqGNG6x48o", 31, "/downloads/shows/Livet på gården/Season 2025/s2025e011600 - Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33.mp4", false, false, false, 1, ~U[2025-01-16 15:00:13Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "Denne gang i livet på gården kommer i med i køkkenet. Vinteren er over os, og jeg bruger meget tid indendøre, da dyrene er i ro og naturen er i dvale. Jeg elsker at lave mad, så se med på hvad jeg spiser på en dag, samt en omgang cookie bagning. Opskriften er denne: \n\nOpskrift til ca. 35 cookies\nDu skal bruge:\n240 g blødt smør\n300 g brun farin\n100 g sukker\n2 æg\n420 g hvedemel\n2 tsk bagepulver\n1 tsk natron\n2 tsk salt\n300 g chokolade\n\nPisk smør, sukker og brun farin sammen. Tilsæt æg og pisk med.\n\nTilsæt hvedemel, natron, bagepulver og salt. Pisk sammen.\n\nHak chokolade og vend det i dejen.\n\nTænd ovnen på 200 grader varmluft.\n\nForm kugler af dejen eller brug en isske.\n\nBag i ca. 10 min, til kanterne er gyldne, men midten stadig er “flydende”. Afkøl til de har sat sig. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33", 3, 1320, false, "7eqGNG6x48o", "https://www.youtube.com/watch?v=7eqGNG6x48o", "/downloads/shows/Livet på gården/Season 2025/s2025e011600 - Hvad jeg spiser på en dag og cookiebagning | Livet på gården Ep. 33.mp4", false, ~U[2025-01-16 15:00:13Z]] 02:21:36.571 [debug] QUERY OK source="sources" db=0.4ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.572 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-23 15:00:14Z], 3] 02:21:36.573 [debug] QUERY OK source="media_items" db=0.7ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode kommer i med når vi forbereder og laver maden nytårsaften, som for os går stille for sig med en baby i maven og dyr der har brug for nærvær. Det nye år starter hårdt ud med strømsvigt i elhegnet, så grisene igen kan stikke af. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34", "6f4dab58-9e1e-42df-abf4-c5a11392871d", 3, [], 1554, false, "DHmTZSb2QAg", "https://www.youtube.com/watch?v=DHmTZSb2QAg", 32, "/downloads/shows/Livet på gården/Season 2025/s2025e012300 - Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34.mp4", false, false, false, 1, ~U[2025-01-23 15:00:14Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I denne episode kommer i med når vi forbereder og laver maden nytårsaften, som for os går stille for sig med en baby i maven og dyr der har brug for nærvær. Det nye år starter hårdt ud med strømsvigt i elhegnet, så grisene igen kan stikke af. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34", 3, 1554, false, "DHmTZSb2QAg", "https://www.youtube.com/watch?v=DHmTZSb2QAg", "/downloads/shows/Livet på gården/Season 2025/s2025e012300 - Oversvømmelse hos grise og kærestetid | Livet på gården Ep. 34.mp4", false, ~U[2025-01-23 15:00:14Z]] 02:21:36.574 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.575 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-30 15:00:01Z], 3] 02:21:36.579 [debug] QUERY OK source="media_items" db=2.9ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit bikser vi lynhurtigt en stald op til grisene, dog ikke uden problemer, da stødhegnet driller. Heldigvis kommer de på plads, og får nyt hjem som de er meget glade for. Derudover er vi så småt begyndt at shoppe til baby pigen, og har købt en barnevogn og andre sager. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny grisestald og babyhaul | Livet på gården Ep. 35", "d1aa5291-f6c5-4549-a9f3-1b355cfb6a54", 3, [], 1577, false, "06C0dkPjHIU", "https://www.youtube.com/watch?v=06C0dkPjHIU", 33, "/downloads/shows/Livet på gården/Season 2025/s2025e013000 - Ny grisestald og babyhaul | Livet på gården Ep. 35.mp4", false, false, false, 1, ~U[2025-01-30 15:00:01Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit bikser vi lynhurtigt en stald op til grisene, dog ikke uden problemer, da stødhegnet driller. Heldigvis kommer de på plads, og får nyt hjem som de er meget glade for. Derudover er vi så småt begyndt at shoppe til baby pigen, og har købt en barnevogn og andre sager. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny grisestald og babyhaul | Livet på gården Ep. 35", 3, 1577, false, "06C0dkPjHIU", "https://www.youtube.com/watch?v=06C0dkPjHIU", "/downloads/shows/Livet på gården/Season 2025/s2025e013000 - Ny grisestald og babyhaul | Livet på gården Ep. 35.mp4", false, ~U[2025-01-30 15:00:01Z]] 02:21:36.581 [debug] QUERY OK source="sources" db=2.1ms queue=0.1ms idle=6.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.583 [debug] QUERY OK source="media_items" db=1.2ms idle=8.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-06 15:00:15Z], 3] 02:21:36.585 [debug] QUERY OK source="media_items" db=1.4ms idle=9.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i med i køkkenet en helt almindelig hverdags aften hvor vi har pizza aften. Vi er hverken eksperter eller noget, men vi elsker hygger ved at lave pizza sammen. Rotterne er fortsat på færde og med sit luftgevær går Mikkel på jagt og fanger faktisk 2 rotter. Kæmpe succes!\n\nPizzadej: https://stinna.dk/aftensmad/nem-pizzadej.html\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Pizzaaften og rottefangst | Livet på gården Ep. 36", "d468d985-234e-4594-8cc8-ba67ac2d2604", 3, [], 1119, false, "5VIOEvQa6qs", "https://www.youtube.com/watch?v=5VIOEvQa6qs", 34, "/downloads/shows/Livet på gården/Season 2025/s2025e020600 - Pizzaaften og rottefangst | Livet på gården Ep. 36.mp4", false, false, false, 1, ~U[2025-02-06 15:00:15Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit kommer i med i køkkenet en helt almindelig hverdags aften hvor vi har pizza aften. Vi er hverken eksperter eller noget, men vi elsker hygger ved at lave pizza sammen. Rotterne er fortsat på færde og med sit luftgevær går Mikkel på jagt og fanger faktisk 2 rotter. Kæmpe succes!\n\nPizzadej: https://stinna.dk/aftensmad/nem-pizzadej.html\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Pizzaaften og rottefangst | Livet på gården Ep. 36", 3, 1119, false, "5VIOEvQa6qs", "https://www.youtube.com/watch?v=5VIOEvQa6qs", "/downloads/shows/Livet på gården/Season 2025/s2025e020600 - Pizzaaften og rottefangst | Livet på gården Ep. 36.mp4", false, ~U[2025-02-06 15:00:15Z]] 02:21:36.585 [debug] QUERY OK source="sources" db=0.3ms idle=9.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.587 [debug] QUERY OK source="media_items" db=0.8ms idle=7.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-13 15:00:15Z], 3] 02:21:36.588 [debug] QUERY OK source="media_items" db=1.3ms idle=5.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nI denne video kommer i med i løbet af mad-dag. Jeg er gravid i 3. trimester og er mere sulten end nogensinde før. Jeg spiser hvad jeg lyster og nemheden er vigtig for os lige nu da jeg er udfordret i de store indkøb - så derfor får vi måltidskasser fra HelloFresh. Det er nemt, lækkert og virkelig inspirerende. \n\nDu kan lige nu spare op til 1079 kroner på dine 3 første måltidskasser fra HelloFresh og få en gratis dessert med ved hver bestilling de første 3 måneder hvis du er ny kunde - ved brug af min rabatkode KRISTINEFRESH25 eller ved at klikke på linket her: http://www.hellofresh.dk/KRISTINEFRESH25\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37", "6f6a4033-dcc5-40e7-a5ec-9e8287a86360", 3, [], 964, false, "C4VNr3_SRjc", "https://www.youtube.com/watch?v=C4VNr3_SRjc", 35, "/downloads/shows/Livet på gården/Season 2025/s2025e021300 - Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37.mp4", false, false, false, 1, ~U[2025-02-13 15:00:15Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "Denne video indeholder reklame for HelloFresh. \n\nI denne video kommer i med i løbet af mad-dag. Jeg er gravid i 3. trimester og er mere sulten end nogensinde før. Jeg spiser hvad jeg lyster og nemheden er vigtig for os lige nu da jeg er udfordret i de store indkøb - så derfor får vi måltidskasser fra HelloFresh. Det er nemt, lækkert og virkelig inspirerende. \n\nDu kan lige nu spare op til 1079 kroner på dine 3 første måltidskasser fra HelloFresh og få en gratis dessert med ved hver bestilling de første 3 måneder hvis du er ny kunde - ved brug af min rabatkode KRISTINEFRESH25 eller ved at klikke på linket her: http://www.hellofresh.dk/KRISTINEFRESH25\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37", 3, 964, false, "C4VNr3_SRjc", "https://www.youtube.com/watch?v=C4VNr3_SRjc", "/downloads/shows/Livet på gården/Season 2025/s2025e021300 - Hvad jeg spiser på en dag som gravid | Livet på gården Ep. 37.mp4", false, ~U[2025-02-13 15:00:15Z]] 02:21:36.589 [debug] QUERY OK source="sources" db=0.4ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.590 [debug] QUERY OK source="media_items" db=0.7ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-20 15:01:25Z], 3] 02:21:36.592 [debug] QUERY OK source="media_items" db=1.2ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode er der igen igen gang i rotterne, og vi beslutter os for at rydde hønsehus for sager og flytte æggestationen. Willy har haft en byld der er sprunget, og må akut til dyrelægen - og så giver jeg en update på hvordan det går både med mig og graviditeten.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En skæv kat og en graviditetsupdate | Livet på gården Ep. 38", "56412c1d-dd8d-4bfd-8e81-6665f6117701", 3, [], 1364, false, "y7cv58JT-FI", "https://www.youtube.com/watch?v=y7cv58JT-FI", 36, "/downloads/shows/Livet på gården/Season 2025/s2025e022000 - En skæv kat og en graviditetsupdate | Livet på gården Ep. 38.mp4", false, false, false, 1, ~U[2025-02-20 15:01:25Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I denne episode er der igen igen gang i rotterne, og vi beslutter os for at rydde hønsehus for sager og flytte æggestationen. Willy har haft en byld der er sprunget, og må akut til dyrelægen - og så giver jeg en update på hvordan det går både med mig og graviditeten.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En skæv kat og en graviditetsupdate | Livet på gården Ep. 38", 3, 1364, false, "y7cv58JT-FI", "https://www.youtube.com/watch?v=y7cv58JT-FI", "/downloads/shows/Livet på gården/Season 2025/s2025e022000 - En skæv kat og en graviditetsupdate | Livet på gården Ep. 38.mp4", false, ~U[2025-02-20 15:01:25Z]] 02:21:36.593 [debug] QUERY OK source="sources" db=0.3ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.594 [debug] QUERY OK source="media_items" db=0.7ms idle=4.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-06 15:01:06Z], 3] 02:21:36.608 [debug] QUERY OK source="media_items" db=14.1ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården handler jeg ind til ugens madplan og så bruger vi en helt fantastisk og rolig dag udenfor. Mikkel får ordnet brænde og vi forbereder os så småt på foråret - for inden vi aner det holder Mikkel fri, for at nå så meget renovering af overetagen som muligt inden baby kommer.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indkøbshaul og forår i luften | Livet på gården Ep. 39", "c8ae8add-a9a9-484b-89bd-822d9066fbcf", 3, [], 1194, false, "lZWB5QR4wPQ", "https://www.youtube.com/watch?v=lZWB5QR4wPQ", 37, "/downloads/shows/Livet på gården/Season 2025/s2025e030600 - Indkøbshaul og forår i luften | Livet på gården Ep. 39.mp4", false, false, false, 1, ~U[2025-03-06 15:01:06Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit af livet på gården handler jeg ind til ugens madplan og så bruger vi en helt fantastisk og rolig dag udenfor. Mikkel får ordnet brænde og vi forbereder os så småt på foråret - for inden vi aner det holder Mikkel fri, for at nå så meget renovering af overetagen som muligt inden baby kommer.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indkøbshaul og forår i luften | Livet på gården Ep. 39", 3, 1194, false, "lZWB5QR4wPQ", "https://www.youtube.com/watch?v=lZWB5QR4wPQ", "/downloads/shows/Livet på gården/Season 2025/s2025e030600 - Indkøbshaul og forår i luften | Livet på gården Ep. 39.mp4", false, ~U[2025-03-06 15:01:06Z]] 02:21:36.609 [debug] QUERY OK source="sources" db=0.4ms idle=18.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.610 [debug] QUERY OK source="media_items" db=0.7ms idle=17.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-13 15:00:23Z], 3] 02:21:36.616 [debug] QUERY OK source="media_items" db=4.7ms idle=17.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården tager jeg jer med ind i en tankestrøm på en af de svære dage. Hønsedamerne er endeligt begyndt at lægge æg, så det giver mening og så er mine forældre på besøg, og der sker som altid en masse. Jeg får endelig en fryser indenfor og så sætter min far og Mikkel en midlertidig trappe op, så vi så småt kan begynde på overetagen!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En træt krop og en trappe til overetagen | Livet på gården Ep. 40", "0a07105a-1c8e-4aa0-9156-21c2cc31d1ab", 3, [], 1167, false, "Ok2_GV07ZBQ", "https://www.youtube.com/watch?v=Ok2_GV07ZBQ", 38, "/downloads/shows/Livet på gården/Season 2025/s2025e031300 - En træt krop og en trappe til overetagen | Livet på gården Ep. 40.mp4", false, false, false, 1, ~U[2025-03-13 15:00:23Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit af livet på gården tager jeg jer med ind i en tankestrøm på en af de svære dage. Hønsedamerne er endeligt begyndt at lægge æg, så det giver mening og så er mine forældre på besøg, og der sker som altid en masse. Jeg får endelig en fryser indenfor og så sætter min far og Mikkel en midlertidig trappe op, så vi så småt kan begynde på overetagen!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En træt krop og en trappe til overetagen | Livet på gården Ep. 40", 3, 1167, false, "Ok2_GV07ZBQ", "https://www.youtube.com/watch?v=Ok2_GV07ZBQ", "/downloads/shows/Livet på gården/Season 2025/s2025e031300 - En træt krop og en trappe til overetagen | Livet på gården Ep. 40.mp4", false, ~U[2025-03-13 15:00:23Z]] 02:21:36.616 [debug] QUERY OK source="sources" db=0.3ms idle=22.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.617 [debug] QUERY OK source="media_items" db=0.8ms idle=8.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-08 14:00:48Z], 3] 02:21:36.619 [debug] QUERY OK source="media_items" db=1.3ms idle=8.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Der er sket meget siden sidst - jeg har født! Men inden da filmede jeg en masse gode sager, som jeg ikke synes i skal gå glip af. Blandt andet at vi er ramt af nesting syndrom og pludselig må have nye møbler og gardiner - og udenfor er Mikkel som altid i fuld gang - med bål og klargøring af drivhus. Pænt sidder jeg meget tyk og træt og kigger på imens. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En baby og nesting mode | Livet på gården Ep. 41", "71fd2c48-fa69-4588-be9c-be68e8056f5d", 3, [], 1161, false, "_dr97qz8fXE", "https://www.youtube.com/watch?v=_dr97qz8fXE", 39, "/downloads/shows/Livet på gården/Season 2025/s2025e050800 - En baby og nesting mode | Livet på gården Ep. 41.mp4", false, false, false, 1, ~U[2025-05-08 14:00:48Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "Der er sket meget siden sidst - jeg har født! Men inden da filmede jeg en masse gode sager, som jeg ikke synes i skal gå glip af. Blandt andet at vi er ramt af nesting syndrom og pludselig må have nye møbler og gardiner - og udenfor er Mikkel som altid i fuld gang - med bål og klargøring af drivhus. Pænt sidder jeg meget tyk og træt og kigger på imens. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En baby og nesting mode | Livet på gården Ep. 41", 3, 1161, false, "_dr97qz8fXE", "https://www.youtube.com/watch?v=_dr97qz8fXE", "/downloads/shows/Livet på gården/Season 2025/s2025e050800 - En baby og nesting mode | Livet på gården Ep. 41.mp4", false, ~U[2025-05-08 14:00:48Z]] 02:21:36.620 [debug] QUERY OK source="sources" db=0.4ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.621 [debug] QUERY OK source="media_items" db=1.0ms idle=4.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-15 14:00:49Z], 3] 02:21:36.623 [debug] QUERY OK source="media_items" db=1.0ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit handler det om knækbrød og køkkentid og rotter. Og så tager jeg en snak om grisene og hønsene, jeg er nemlig kommet i tvivl om det giver mening økonomisk at have grise som alligevel ikke bliver slagteklar forløbig. Hønsene vender vi også. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Knækbrød og en snak om økonomien | Livet på gården Ep. 42", "402b104e-9c3a-4bf5-a4d0-945a82b4a5bb", 3, [], 1565, false, "XyfY9KQlii8", "https://www.youtube.com/watch?v=XyfY9KQlii8", 40, "/downloads/shows/Livet på gården/Season 2025/s2025e051500 - Knækbrød og en snak om økonomien | Livet på gården Ep. 42.mp4", false, false, false, 1, ~U[2025-05-15 14:00:49Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit handler det om knækbrød og køkkentid og rotter. Og så tager jeg en snak om grisene og hønsene, jeg er nemlig kommet i tvivl om det giver mening økonomisk at have grise som alligevel ikke bliver slagteklar forløbig. Hønsene vender vi også. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Knækbrød og en snak om økonomien | Livet på gården Ep. 42", 3, 1565, false, "XyfY9KQlii8", "https://www.youtube.com/watch?v=XyfY9KQlii8", "/downloads/shows/Livet på gården/Season 2025/s2025e051500 - Knækbrød og en snak om økonomien | Livet på gården Ep. 42.mp4", false, ~U[2025-05-15 14:00:49Z]] 02:21:36.624 [debug] QUERY OK source="sources" db=0.3ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.625 [debug] QUERY OK source="media_items" db=0.8ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-22 14:00:14Z], 3] 02:21:36.626 [debug] QUERY OK source="media_items" db=1.2ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er der indkøbshaul, som synger på sidste vers inden jeg skal føde, da det simpelthen er for hårdt for mig at handle selv. Jeg forbereder mad til fryseren så der er godt mad til efter fødslen, og så har vi taget en stor beslutning om at pille taget af liiige kvart i termin og det sætter mine nerver på spidsen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43", "7655bb15-2229-4062-8c4e-12f4eeb729c7", 3, [], 1220, false, "4lsBpblT134", "https://www.youtube.com/watch?v=4lsBpblT134", 41, "/downloads/shows/Livet på gården/Season 2025/s2025e052200 - En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43.mp4", false, false, false, 1, ~U[2025-05-22 14:00:14Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit er der indkøbshaul, som synger på sidste vers inden jeg skal føde, da det simpelthen er for hårdt for mig at handle selv. Jeg forbereder mad til fryseren så der er godt mad til efter fødslen, og så har vi taget en stor beslutning om at pille taget af liiige kvart i termin og det sætter mine nerver på spidsen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43", 3, 1220, false, "4lsBpblT134", "https://www.youtube.com/watch?v=4lsBpblT134", "/downloads/shows/Livet på gården/Season 2025/s2025e052200 - En stor beslutning og kartofler i drivhuset | Livet på gården Ep. 43.mp4", false, ~U[2025-05-22 14:00:14Z]] 02:21:36.627 [debug] QUERY OK source="sources" db=0.3ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.628 [debug] QUERY OK source="media_items" db=0.7ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-29 14:00:35Z], 3] 02:21:36.630 [debug] QUERY OK source="media_items" db=1.2ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er jeg for alvor ved at være udfordret af min graviditet, jeg er kæmpe stor med meget væske i kroppen, alt imens at Mikkel knokler i døgndrift på at lave nyt tag. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Højgravid og et hus uden tag | Livet på gården Ep. 44", "506ed92a-e2f0-4f42-a2f9-4d2ffe5e9ed6", 3, [], 1273, false, "LwViuowDYFk", "https://www.youtube.com/watch?v=LwViuowDYFk", 42, "/downloads/shows/Livet på gården/Season 2025/s2025e052900 - Højgravid og et hus uden tag | Livet på gården Ep. 44.mp4", false, false, false, 1, ~U[2025-05-29 14:00:35Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit er jeg for alvor ved at være udfordret af min graviditet, jeg er kæmpe stor med meget væske i kroppen, alt imens at Mikkel knokler i døgndrift på at lave nyt tag. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Højgravid og et hus uden tag | Livet på gården Ep. 44", 3, 1273, false, "LwViuowDYFk", "https://www.youtube.com/watch?v=LwViuowDYFk", "/downloads/shows/Livet på gården/Season 2025/s2025e052900 - Højgravid og et hus uden tag | Livet på gården Ep. 44.mp4", false, ~U[2025-05-29 14:00:35Z]] 02:21:36.631 [debug] QUERY OK source="sources" db=0.4ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.632 [debug] QUERY OK source="media_items" db=0.6ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-05 14:00:41Z], 3] 02:21:36.634 [debug] QUERY OK source="media_items" db=1.3ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager det hele pludselig en drejning da vi en dag er ved jordemoder og mit blodtryk er alt for højt. Efter tjek kommer vi hjem og når lige at rykke grisenes indhegning, før det desværre bliver nødvendigt at indlægge mig grundet svangerskabsforgiftning og diabetes. Og pludselig ser vi ind i en igangsættelse frem for en naturlig start på fødslen.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45", "d7aeb58a-75b8-4226-8db7-f74710fecbee", 3, [], 1394, false, "QVFwXhDMin4", "https://www.youtube.com/watch?v=QVFwXhDMin4", 43, "/downloads/shows/Livet på gården/Season 2025/s2025e060500 - Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45.mp4", false, false, false, 1, ~U[2025-06-05 14:00:41Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit tager det hele pludselig en drejning da vi en dag er ved jordemoder og mit blodtryk er alt for højt. Efter tjek kommer vi hjem og når lige at rykke grisenes indhegning, før det desværre bliver nødvendigt at indlægge mig grundet svangerskabsforgiftning og diabetes. Og pludselig ser vi ind i en igangsættelse frem for en naturlig start på fødslen.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45", 3, 1394, false, "QVFwXhDMin4", "https://www.youtube.com/watch?v=QVFwXhDMin4", "/downloads/shows/Livet på gården/Season 2025/s2025e060500 - Indlæggelse og svangerskabsforgiftning | Livet på gården Ep. 45.mp4", false, ~U[2025-06-05 14:00:41Z]] 02:21:36.634 [debug] QUERY OK source="sources" db=0.2ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.635 [debug] QUERY OK source="media_items" db=0.6ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-12 14:00:00Z], 3] 02:21:36.637 [debug] QUERY OK source="media_items" db=1.0ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit bliver 2 endelig til 3 når vi bliver forældre til den fineste lille pige. Vi kommer hjem i god behold, jeg er stadig noget medtaget efter en hård fødsel.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Når 2 bliver til 3 | Livet på gården Ep. 46", "0d8db074-9e32-4926-a311-ecb7360d2c9f", 3, [], 1290, false, "-rvS4KsyD-8", "https://www.youtube.com/watch?v=-rvS4KsyD-8", 44, "/downloads/shows/Livet på gården/Season 2025/s2025e061200 - Når 2 bliver til 3 | Livet på gården Ep. 46.mp4", false, false, false, 1, ~U[2025-06-12 14:00:00Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit bliver 2 endelig til 3 når vi bliver forældre til den fineste lille pige. Vi kommer hjem i god behold, jeg er stadig noget medtaget efter en hård fødsel.\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Når 2 bliver til 3 | Livet på gården Ep. 46", 3, 1290, false, "-rvS4KsyD-8", "https://www.youtube.com/watch?v=-rvS4KsyD-8", "/downloads/shows/Livet på gården/Season 2025/s2025e061200 - Når 2 bliver til 3 | Livet på gården Ep. 46.mp4", false, ~U[2025-06-12 14:00:00Z]] 02:21:36.637 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.638 [debug] QUERY OK source="media_items" db=0.4ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-19 14:00:28Z], 3] 02:21:36.640 [debug] QUERY OK source="media_items" db=0.8ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi for alvor faldet på plads derhjemme igen efter en hård omgang og tilvænning efter fødslen. Vi er begge 2 på barsel og nyder det - nogle mere end andre. Som altid har Mikkel gang i alt muligt og kan ikke sidde stille. Hønsene skrukker og køkkenhaven er kaos - så alt er som det plejer på denne tid af året. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Barselsbobbel og køkkenhave | Livet på gården Ep. 47", "01924d10-2f87-495b-a4b7-26b468379294", 3, [], 1248, false, "L8u8ZcjpR6A", "https://www.youtube.com/watch?v=L8u8ZcjpR6A", 45, "/downloads/shows/Livet på gården/Season 2025/s2025e061900 - Barselsbobbel og køkkenhave | Livet på gården Ep. 47.mp4", false, false, false, 1, ~U[2025-06-19 14:00:28Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit er vi for alvor faldet på plads derhjemme igen efter en hård omgang og tilvænning efter fødslen. Vi er begge 2 på barsel og nyder det - nogle mere end andre. Som altid har Mikkel gang i alt muligt og kan ikke sidde stille. Hønsene skrukker og køkkenhaven er kaos - så alt er som det plejer på denne tid af året. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Barselsbobbel og køkkenhave | Livet på gården Ep. 47", 3, 1248, false, "L8u8ZcjpR6A", "https://www.youtube.com/watch?v=L8u8ZcjpR6A", "/downloads/shows/Livet på gården/Season 2025/s2025e061900 - Barselsbobbel og køkkenhave | Livet på gården Ep. 47.mp4", false, ~U[2025-06-19 14:00:28Z]] 02:21:36.640 [debug] QUERY OK source="sources" db=0.5ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.641 [debug] QUERY OK source="media_items" db=0.4ms queue=0.2ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-26 14:00:46Z], 3] 02:21:36.643 [debug] QUERY OK source="media_items" db=0.8ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for Segway Navimow | I dette afsnit er vi kommet i haven, fordi vi har fået intet mindre end en enormt fancy robotplæneklipper - og selvom Mikkel er meget glad for sin havetraktor, så er han altså ikke til at styre. \n\nLæs mere om plæneklipperen her: http://bit.ly/4lwNXrf\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny plæneklipper og en glad mand | Livet på gården Ep. 48", "3b47431e-ad8c-4b2d-88af-55b2d4d62793", 3, [], 885, false, "W_VQNTe2uV0", "https://www.youtube.com/watch?v=W_VQNTe2uV0", 46, "/downloads/shows/Livet på gården/Season 2025/s2025e062600 - Ny plæneklipper og en glad mand | Livet på gården Ep. 48.mp4", false, false, false, 1, ~U[2025-06-26 14:00:46Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "Denne video indeholder reklame for Segway Navimow | I dette afsnit er vi kommet i haven, fordi vi har fået intet mindre end en enormt fancy robotplæneklipper - og selvom Mikkel er meget glad for sin havetraktor, så er han altså ikke til at styre. \n\nLæs mere om plæneklipperen her: http://bit.ly/4lwNXrf\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ny plæneklipper og en glad mand | Livet på gården Ep. 48", 3, 885, false, "W_VQNTe2uV0", "https://www.youtube.com/watch?v=W_VQNTe2uV0", "/downloads/shows/Livet på gården/Season 2025/s2025e062600 - Ny plæneklipper og en glad mand | Livet på gården Ep. 48.mp4", false, ~U[2025-06-26 14:00:46Z]] 02:21:36.644 [debug] QUERY OK source="sources" db=0.8ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.645 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=5.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-03 14:00:38Z], 3] 02:21:36.647 [debug] QUERY OK source="media_items" db=0.9ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er det endelig blevet maj og tid til at sætte tomater i drivhuset. I år er de købt, men de får samme start som mine tomater altid gør. Jeg kommer med mine bedste tips og tricks. Og så tager vi en snak om byggeriet og alle vores sommer planer. Mikkel får travlt, som altid. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tomater og byggemøde | Livet på gården Ep. 49", "c7ee67e0-960f-4d54-bd04-fd153d184855", 3, [], 1455, false, "LOW7BsM3muw", "https://www.youtube.com/watch?v=LOW7BsM3muw", 47, "/downloads/shows/Livet på gården/Season 2025/s2025e070300 - Tomater og byggemøde | Livet på gården Ep. 49.mp4", false, false, false, 1, ~U[2025-07-03 14:00:38Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit er det endelig blevet maj og tid til at sætte tomater i drivhuset. I år er de købt, men de får samme start som mine tomater altid gør. Jeg kommer med mine bedste tips og tricks. Og så tager vi en snak om byggeriet og alle vores sommer planer. Mikkel får travlt, som altid. Tak fordi du ser med!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tomater og byggemøde | Livet på gården Ep. 49", 3, 1455, false, "LOW7BsM3muw", "https://www.youtube.com/watch?v=LOW7BsM3muw", "/downloads/shows/Livet på gården/Season 2025/s2025e070300 - Tomater og byggemøde | Livet på gården Ep. 49.mp4", false, ~U[2025-07-03 14:00:38Z]] 02:21:36.648 [debug] QUERY OK source="sources" db=0.3ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.648 [debug] QUERY OK source="media_items" db=0.6ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-10 14:01:07Z], 3] 02:21:36.650 [debug] QUERY OK source="media_items" db=1.1ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har jeg tømt keramikovnen for første gang længe, jeg er i haven for første gang længe og er så småt ved at komme tilbage til mit før. Men fødslen har sat sine spor og det tager jeg en snak om i dette afsnit. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50", "a16a14e8-9293-47bb-9aea-0ec76d4627cb", 3, [], 1048, false, "eRwqESemLz0", "https://www.youtube.com/watch?v=eRwqESemLz0", 48, "/downloads/shows/Livet på gården/Season 2025/s2025e071000 - Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50.mp4", false, false, false, 1, ~U[2025-07-10 14:01:07Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit har jeg tømt keramikovnen for første gang længe, jeg er i haven for første gang længe og er så småt ved at komme tilbage til mit før. Men fødslen har sat sine spor og det tager jeg en snak om i dette afsnit. Tak fordi du ser med!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50", 3, 1048, false, "eRwqESemLz0", "https://www.youtube.com/watch?v=eRwqESemLz0", "/downloads/shows/Livet på gården/Season 2025/s2025e071000 - Havearbejde og en snak om efterfødselskroppen | Livet på gården Ep. 50.mp4", false, ~U[2025-07-10 14:01:07Z]] 02:21:36.651 [debug] QUERY OK source="sources" db=0.6ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.652 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-17 14:00:37Z], 3] 02:21:36.655 [debug] QUERY OK source="media_items" db=2.6ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit sker der en hulens masse sjove sager. Mikkel er i fuld gang med at lave vejen om og bygge det nye hegn. Vores datter er med i haven i bæreselen og jeg høster rabarberen. Og så er der dømt nyt udstyr og et haul af alt det gejl vi har fået hjem!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores datter er med i haven | Livet på gården Ep. 51", "94dd2598-2b04-40df-b3cd-e073e59d3658", 3, [], 1223, false, "N_QTztIN_uE", "https://www.youtube.com/watch?v=N_QTztIN_uE", 49, "/downloads/shows/Livet på gården/Season 2025/s2025e071700 - Vores datter er med i haven | Livet på gården Ep. 51.mp4", false, false, false, 1, ~U[2025-07-17 14:00:37Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit sker der en hulens masse sjove sager. Mikkel er i fuld gang med at lave vejen om og bygge det nye hegn. Vores datter er med i haven i bæreselen og jeg høster rabarberen. Og så er der dømt nyt udstyr og et haul af alt det gejl vi har fået hjem!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores datter er med i haven | Livet på gården Ep. 51", 3, 1223, false, "N_QTztIN_uE", "https://www.youtube.com/watch?v=N_QTztIN_uE", "/downloads/shows/Livet på gården/Season 2025/s2025e071700 - Vores datter er med i haven | Livet på gården Ep. 51.mp4", false, ~U[2025-07-17 14:00:37Z]] 02:21:36.656 [debug] QUERY OK source="sources" db=0.4ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.657 [debug] QUERY OK source="media_items" db=0.3ms idle=6.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 14:00:17Z], 3] 02:21:36.658 [debug] QUERY OK source="media_items" db=0.8ms idle=5.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har vi en baby som er udfordret af tigerspring og dermed en træt mor. Mikkel knokler løs på taget fra morgen til aften og så sætter han lidt ord på hvad det er han har lavet, denne gang med en mikrofon - så man bedre kan høre ham, haha!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nyt tag på 3 dage | Livet på gården Ep. 52", "3f9fa8c7-f1bc-4d74-a96e-bcf72edb70eb", 3, [], 1213, false, "8KBS6AxLEhs", "https://www.youtube.com/watch?v=8KBS6AxLEhs", 50, "/downloads/shows/Livet på gården/Season 2025/s2025e081400 - Nyt tag på 3 dage | Livet på gården Ep. 52.mp4", false, false, false, 1, ~U[2025-08-14 14:00:17Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I denne video har vi en baby som er udfordret af tigerspring og dermed en træt mor. Mikkel knokler løs på taget fra morgen til aften og så sætter han lidt ord på hvad det er han har lavet, denne gang med en mikrofon - så man bedre kan høre ham, haha!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Nyt tag på 3 dage | Livet på gården Ep. 52", 3, 1213, false, "8KBS6AxLEhs", "https://www.youtube.com/watch?v=8KBS6AxLEhs", "/downloads/shows/Livet på gården/Season 2025/s2025e081400 - Nyt tag på 3 dage | Livet på gården Ep. 52.mp4", false, ~U[2025-08-14 14:00:17Z]] 02:21:36.658 [debug] QUERY OK source="sources" db=0.2ms idle=6.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.659 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-21 14:01:25Z], 3] 02:21:36.661 [debug] QUERY OK source="media_items" db=0.9ms queue=0.4ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har Mikkel gang i bekæmpelsen af ukrudt, mens jeg giver mig i kast med loppehelvede i hønsehuset, som er INVARDERET! Det får den helt store tur og så er det bare at håbe at det er nok, for ellers skal jeg have anskaffet mig exholt og det er en dyr affære.. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53", "960d6d57-9ec6-444d-b7c9-d1c23d0cc2dc", 3, [], 1195, false, "xTCNmkJl7cs", "https://www.youtube.com/watch?v=xTCNmkJl7cs", 51, "/downloads/shows/Livet på gården/Season 2025/s2025e082100 - Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53.mp4", false, false, false, 1, ~U[2025-08-21 14:01:25Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit har Mikkel gang i bekæmpelsen af ukrudt, mens jeg giver mig i kast med loppehelvede i hønsehuset, som er INVARDERET! Det får den helt store tur og så er det bare at håbe at det er nok, for ellers skal jeg have anskaffet mig exholt og det er en dyr affære.. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53", 3, 1195, false, "xTCNmkJl7cs", "https://www.youtube.com/watch?v=xTCNmkJl7cs", "/downloads/shows/Livet på gården/Season 2025/s2025e082100 - Hønsehuset er fyldt med lopper!! | Livet på gården Ep. 53.mp4", false, ~U[2025-08-21 14:01:25Z]] 02:21:36.662 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.663 [debug] QUERY OK source="media_items" db=0.5ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-28 14:00:46Z], 3] 02:21:36.668 [debug] QUERY OK source="media_items" db=4.9ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mikkel arbejder videre på taget og så tager vi en status på hønsehuset efter udrensning. Hønsene skrukker på stribe og der er semi krise over det. Malene kommer på besøg og får den store tour af køkkenhaven, vi laver mad sammen og tager en snak om hvorfor hun ikke længere arbejder hos mig.. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg af Malene og høns der skrukker | Livet på gården Ep. 54", "e7bb3450-23ff-42b0-889a-42c1d83a8ca4", 3, [], 1652, false, "U_w3PIAVp40", "https://www.youtube.com/watch?v=U_w3PIAVp40", 52, "/downloads/shows/Livet på gården/Season 2025/s2025e082800 - Besøg af Malene og høns der skrukker | Livet på gården Ep. 54.mp4", false, false, false, 1, ~U[2025-08-28 14:00:46Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "Mikkel arbejder videre på taget og så tager vi en status på hønsehuset efter udrensning. Hønsene skrukker på stribe og der er semi krise over det. Malene kommer på besøg og får den store tour af køkkenhaven, vi laver mad sammen og tager en snak om hvorfor hun ikke længere arbejder hos mig.. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg af Malene og høns der skrukker | Livet på gården Ep. 54", 3, 1652, false, "U_w3PIAVp40", "https://www.youtube.com/watch?v=U_w3PIAVp40", "/downloads/shows/Livet på gården/Season 2025/s2025e082800 - Besøg af Malene og høns der skrukker | Livet på gården Ep. 54.mp4", false, ~U[2025-08-28 14:00:46Z]] 02:21:36.669 [debug] QUERY OK source="sources" db=0.3ms idle=9.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.670 [debug] QUERY OK source="media_items" db=0.4ms idle=8.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-07 14:01:23Z], 3] 02:21:36.671 [debug] QUERY OK source="media_items" db=0.8ms idle=8.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nDu kan få 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder.\nRabatkode: B2SKRISTINE\nLink: www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52", "46ee7b2a-9262-4d2d-b9d4-ecabd021434d", 3, [], 1265, false, "oJHte_vjoV4", "https://www.youtube.com/watch?v=oJHte_vjoV4", 53, "/downloads/shows/Livet på gården/Season 2025/s2025e080700 - Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52.mp4", false, false, false, 1, ~U[2025-08-07 14:01:23Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "Denne video indeholder reklame for HelloFresh. \n\nDu kan få 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder.\nRabatkode: B2SKRISTINE\nLink: www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52", 3, 1265, false, "oJHte_vjoV4", "https://www.youtube.com/watch?v=oJHte_vjoV4", "/downloads/shows/Livet på gården/Season 2025/s2025e080700 - Besøg og høns der skrukker - igen.. | Livet på gården Ep. 52.mp4", false, ~U[2025-08-07 14:01:23Z]] 02:21:36.673 [debug] QUERY OK source="sources" db=0.6ms queue=0.4ms 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" = ?) [3] 02:21:36.675 [debug] QUERY OK source="media_items" db=1.8ms idle=4.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-04 14:01:08Z], 3] 02:21:36.676 [debug] QUERY OK source="media_items" db=1.1ms idle=5.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i for første gang med op på overetagen og ser med når Mikkel bygger den anden kvist - det er også første gang jeg er deroppe, og jeg er mildest talt oppe at ringe over hvor fedt det bliver. Felix er på besøg og med i værkstedet og så har vi taget store beslutninger om fremtiden på gården. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix laver keramik og vores store beslutning | Livet på gården Ep. 55", "8b0f4cae-493a-447f-a5cb-81fe41c32f31", 3, [], 1396, false, "gbe1EwOyOKY", "https://www.youtube.com/watch?v=gbe1EwOyOKY", 54, "/downloads/shows/Livet på gården/Season 2025/s2025e090400 - Felix laver keramik og vores store beslutning | Livet på gården Ep. 55.mp4", false, false, false, 1, ~U[2025-09-04 14:01:08Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit kommer i for første gang med op på overetagen og ser med når Mikkel bygger den anden kvist - det er også første gang jeg er deroppe, og jeg er mildest talt oppe at ringe over hvor fedt det bliver. Felix er på besøg og med i værkstedet og så har vi taget store beslutninger om fremtiden på gården. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Felix laver keramik og vores store beslutning | Livet på gården Ep. 55", 3, 1396, false, "gbe1EwOyOKY", "https://www.youtube.com/watch?v=gbe1EwOyOKY", "/downloads/shows/Livet på gården/Season 2025/s2025e090400 - Felix laver keramik og vores store beslutning | Livet på gården Ep. 55.mp4", false, ~U[2025-09-04 14:01:08Z]] 02:21:36.677 [debug] QUERY OK source="sources" db=0.8ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.679 [debug] QUERY OK source="media_items" db=0.8ms queue=0.2ms idle=6.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-11 14:00:02Z], 3] 02:21:36.680 [debug] QUERY OK source="media_items" db=1.1ms idle=6.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56", "0542d4cf-69d7-42c6-aadb-b65ba4fd4b4b", 3, [], 1421, false, "aPr93nvV6Sc", "https://www.youtube.com/watch?v=aPr93nvV6Sc", 55, "/downloads/shows/Livet på gården/Season 2025/s2025e091100 - Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56.mp4", false, false, false, 1, ~U[2025-09-11 14:00:02Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56", 3, 1421, false, "aPr93nvV6Sc", "https://www.youtube.com/watch?v=aPr93nvV6Sc", "/downloads/shows/Livet på gården/Season 2025/s2025e091100 - Vores høns flytter, nyt fitnessrum og strømsvigt | Livet på gården Ep. 56.mp4", false, ~U[2025-09-11 14:00:02Z]] 02:21:36.681 [debug] QUERY OK source="sources" db=0.4ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.682 [debug] QUERY OK source="media_items" db=0.6ms idle=5.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-18 14:06:34Z], 3] 02:21:36.684 [debug] QUERY OK source="media_items" db=1.0ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57", "6fd55b65-c9a7-488c-91e6-d539ec95c0a5", 3, [], 1020, false, "lLuYcnLpHk8", "https://www.youtube.com/watch?v=lLuYcnLpHk8", 56, "/downloads/shows/Livet på gården/Season 2025/s2025e091800 - Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57.mp4", false, false, false, 1, ~U[2025-09-18 14:06:34Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "Mange tak fordi du så med - det betyder super meget for mig!\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57", 3, 1020, false, "lLuYcnLpHk8", "https://www.youtube.com/watch?v=lLuYcnLpHk8", "/downloads/shows/Livet på gården/Season 2025/s2025e091800 - Afskrukning af høns og klipning af vinger | Livet på gården Ep. 57.mp4", false, ~U[2025-09-18 14:06:34Z]] 02:21:36.684 [debug] QUERY OK source="sources" db=0.6ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.685 [debug] QUERY OK source="media_items" db=0.6ms idle=4.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-25 14:01:33Z], 3] 02:21:36.687 [debug] QUERY OK source="media_items" db=1.1ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\nI dagens afsnit er vi i fuld gang. Jeg giver en status fra keramikken, jeg hjælper til når Mikkel sætter sig for at rive kradt og så forsøger vi os med en timelapse for første gang. Vi giver også en status på hvordan det går i hønsegården efter vi har skåret gevaldigt ned for antallet. Alt sammen i mens vores datter er i tigerspring og meget lidt vil sove.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58", "bb724b21-14e6-4cf1-9934-c9eced66f05a", 3, [], 1485, false, "rFwrB9Pe4hM", "https://www.youtube.com/watch?v=rFwrB9Pe4hM", 57, "/downloads/shows/Livet på gården/Season 2025/s2025e092500 - Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58.mp4", false, false, false, 1, ~U[2025-09-25 14:01:33Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "Denne video indeholder reklame for HelloFresh. \n\nFå 20 måltider fra kun 33 kr. pr. portion og få gratis snacks med hver bestilling i 3 måneder med min rabatkode B2SKRISTINE \n\nFå min rabat her: http://www.hellofresh.dk/B2SKRISTINE\n\nI dagens afsnit er vi i fuld gang. Jeg giver en status fra keramikken, jeg hjælper til når Mikkel sætter sig for at rive kradt og så forsøger vi os med en timelapse for første gang. Vi giver også en status på hvordan det går i hønsegården efter vi har skåret gevaldigt ned for antallet. Alt sammen i mens vores datter er i tigerspring og meget lidt vil sove.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58", 3, 1485, false, "rFwrB9Pe4hM", "https://www.youtube.com/watch?v=rFwrB9Pe4hM", "/downloads/shows/Livet på gården/Season 2025/s2025e092500 - Tigerspring, hønsestatus og knoklearbejde | Livet på gården Ep. 58.mp4", false, ~U[2025-09-25 14:01:33Z]] 02:21:36.688 [debug] QUERY OK source="sources" db=0.2ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.688 [debug] QUERY OK source="media_items" db=0.6ms idle=4.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-02 14:01:32Z], 3] 02:21:36.690 [debug] QUERY OK source="media_items" db=1.1ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager Mikkel mig med i hans store planer om både ny gårdsplads og fliselægning. Han fortsætter det sidste arbejde på kvisten og jeg trækker i arbejdstøjet og hjælper til med både byggeaffald og trimning af haven - samtidig med at vores baby fortsat sover skidt. Grisene flytter hjemmefra og jeg får sagt ordenligt farvel. Det er meget vemodigt, men også for det bedste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59", "3b6a6b8d-bba9-4194-89d6-df47adb2cbab", 3, [], 1641, false, "uEP1rtTb-XE", "https://www.youtube.com/watch?v=uEP1rtTb-XE", 58, "/downloads/shows/Livet på gården/Season 2025/s2025e100200 - Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59.mp4", false, false, false, 1, ~U[2025-10-02 14:01:32Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit tager Mikkel mig med i hans store planer om både ny gårdsplads og fliselægning. Han fortsætter det sidste arbejde på kvisten og jeg trækker i arbejdstøjet og hjælper til med både byggeaffald og trimning af haven - samtidig med at vores baby fortsat sover skidt. Grisene flytter hjemmefra og jeg får sagt ordenligt farvel. Det er meget vemodigt, men også for det bedste. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59", 3, 1641, false, "uEP1rtTb-XE", "https://www.youtube.com/watch?v=uEP1rtTb-XE", "/downloads/shows/Livet på gården/Season 2025/s2025e100200 - Mikkels planer, byggeoprydning og grise der flytter | Livet på gården Ep. 59.mp4", false, ~U[2025-10-02 14:01:32Z]] 02:21:36.691 [debug] QUERY OK source="sources" db=0.6ms 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" = ?) [3] 02:21:36.692 [debug] QUERY OK source="media_items" db=0.6ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-09 14:01:15Z], 3] 02:21:36.693 [debug] QUERY OK source="media_items" db=1.0ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kører vi på ferie i en bil der aldrig har været meget fyldt og vi har endda fået ny stor bil. Jeg døjer med hæmorider og så tager vi en klassisk tur rundt med Mikkel der fortæller om alle de ting han synes der skal fikses. Vi starter dog med at rykke et gammelt hønsehus og flytte vores ATV som er gået i stykker. Vi er også en tur i vores kaos af en have, hvor det eneste der fungere er én squash plante, som til gengæld også levere GIGANTISKE squash. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60", "2957e0c2-1d3e-46e4-b10c-34ae3f98d282", 3, [], 1534, false, "mCkvhf9YDCk", "https://www.youtube.com/watch?v=mCkvhf9YDCk", 59, "/downloads/shows/Livet på gården/Season 2025/s2025e100900 - Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60.mp4", false, false, false, 1, ~U[2025-10-09 14:01:15Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit kører vi på ferie i en bil der aldrig har været meget fyldt og vi har endda fået ny stor bil. Jeg døjer med hæmorider og så tager vi en klassisk tur rundt med Mikkel der fortæller om alle de ting han synes der skal fikses. Vi starter dog med at rykke et gammelt hønsehus og flytte vores ATV som er gået i stykker. Vi er også en tur i vores kaos af en have, hvor det eneste der fungere er én squash plante, som til gengæld også levere GIGANTISKE squash. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60", 3, 1534, false, "mCkvhf9YDCk", "https://www.youtube.com/watch?v=mCkvhf9YDCk", "/downloads/shows/Livet på gården/Season 2025/s2025e100900 - Ferie, haveprojekter og gigantiske squash | Livet på gården Ep. 60.mp4", false, ~U[2025-10-09 14:01:15Z]] 02:21:36.694 [debug] QUERY OK source="sources" db=0.3ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.695 [debug] QUERY OK source="media_items" db=0.4ms idle=4.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-16 14:00:35Z], 3] 02:21:36.696 [debug] QUERY OK source="media_items" db=0.8ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit har vi besøg af min veninde fra København fordi vi er kommet dertil hvor vi skal holde navngivningsfest for vores datter. Vi har slået det store brød op med kæmpe telt i haven og alt harald nyborgs pynt tror jeg nærmest? Derudover har Mikkel besluttet sig for at bygge sit eget gyngestativ til vores nye gynger\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi gør klar til navngivningsfest | Livet på gården Ep. 61", "2b1b45ec-2f3a-4b67-bb48-f39a9f92febd", 3, [], 1491, false, "KMuFnD8X_To", "https://www.youtube.com/watch?v=KMuFnD8X_To", 60, "/downloads/shows/Livet på gården/Season 2025/s2025e101600 - Vi gør klar til navngivningsfest | Livet på gården Ep. 61.mp4", false, false, false, 1, ~U[2025-10-16 14:00:35Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit har vi besøg af min veninde fra København fordi vi er kommet dertil hvor vi skal holde navngivningsfest for vores datter. Vi har slået det store brød op med kæmpe telt i haven og alt harald nyborgs pynt tror jeg nærmest? Derudover har Mikkel besluttet sig for at bygge sit eget gyngestativ til vores nye gynger\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi gør klar til navngivningsfest | Livet på gården Ep. 61", 3, 1491, false, "KMuFnD8X_To", "https://www.youtube.com/watch?v=KMuFnD8X_To", "/downloads/shows/Livet på gården/Season 2025/s2025e101600 - Vi gør klar til navngivningsfest | Livet på gården Ep. 61.mp4", false, ~U[2025-10-16 14:00:35Z]] 02:21:36.697 [debug] QUERY OK source="sources" db=0.2ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.698 [debug] QUERY OK source="media_items" db=0.8ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 14:00:02Z], 3] 02:21:36.700 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode fortsætter vi byggeriet af gyngestativet som skal stå i bunden af haven. Mikkel tegner og fortæller hvordan han laver det og jeg er på en måde blevet praktikant. Jeg er samtidig ved at forberede mig på keramiksalg den forestående weekend og det er lidt mere spændende end normalt fordi jeg denne gang fikser alt selv, eftersom Malene ikke længere er hos mig.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi bygger et gyngestativ | Livet på gården Ep. 62", "0a42e575-6557-439c-88a8-33da82d311a0", 3, [], 1384, false, "aSbYAroNsjw", "https://www.youtube.com/watch?v=aSbYAroNsjw", 61, "/downloads/shows/Livet på gården/Season 2025/s2025e102300 - Vi bygger et gyngestativ | Livet på gården Ep. 62.mp4", false, false, false, 1, ~U[2025-10-23 14:00:02Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I denne episode fortsætter vi byggeriet af gyngestativet som skal stå i bunden af haven. Mikkel tegner og fortæller hvordan han laver det og jeg er på en måde blevet praktikant. Jeg er samtidig ved at forberede mig på keramiksalg den forestående weekend og det er lidt mere spændende end normalt fordi jeg denne gang fikser alt selv, eftersom Malene ikke længere er hos mig.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi bygger et gyngestativ | Livet på gården Ep. 62", 3, 1384, false, "aSbYAroNsjw", "https://www.youtube.com/watch?v=aSbYAroNsjw", "/downloads/shows/Livet på gården/Season 2025/s2025e102300 - Vi bygger et gyngestativ | Livet på gården Ep. 62.mp4", false, ~U[2025-10-23 14:00:02Z]] 02:21:36.701 [debug] QUERY OK source="sources" db=0.9ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.702 [debug] QUERY OK source="media_items" db=0.6ms idle=5.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 14:00:55Z], 3] 02:21:36.704 [debug] QUERY OK source="media_items" db=1.2ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode 959KRISTINES eller få rabatten via linket her: http://www.hellofresh.dk/959KRISTINES\n\nI denne episode sætter vi langt om længe keramik til salg igen, og det er udsolgt på meget få minutter. Vi er på røven over det må jeg bare sige. Mikkel bygger og vi får besøg af min familie der hjælper til hvor der er brug for det. Julle overtager kameraet mens hun maler og jeg er ved lægen med vores datter. Min far underholder som altid med alle de vanvittige ting han siger og min mor er gået i krig med vasketøjet \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63", "7def557f-3070-4a2d-802f-eb1d735024e5", 3, [], 1386, false, "_c08N8LDjq4", "https://www.youtube.com/watch?v=_c08N8LDjq4", 62, "/downloads/shows/Livet på gården/Season 2025/s2025e103000 - Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63.mp4", false, false, false, 1, ~U[2025-10-30 14:00:55Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode 959KRISTINES eller få rabatten via linket her: http://www.hellofresh.dk/959KRISTINES\n\nI denne episode sætter vi langt om længe keramik til salg igen, og det er udsolgt på meget få minutter. Vi er på røven over det må jeg bare sige. Mikkel bygger og vi får besøg af min familie der hjælper til hvor der er brug for det. Julle overtager kameraet mens hun maler og jeg er ved lægen med vores datter. Min far underholder som altid med alle de vanvittige ting han siger og min mor er gået i krig med vasketøjet \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63", 3, 1386, false, "_c08N8LDjq4", "https://www.youtube.com/watch?v=_c08N8LDjq4", "/downloads/shows/Livet på gården/Season 2025/s2025e103000 - Vi sælger keramik og har min familie på besøg | Livet på gården Ep. 63.mp4", false, ~U[2025-10-30 14:00:55Z]] 02:21:36.705 [debug] QUERY OK source="sources" db=0.6ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.706 [debug] QUERY OK source="media_items" db=0.4ms queue=0.3ms idle=5.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-06 14:00:48Z], 3] 02:21:36.707 [debug] QUERY OK source="media_items" db=0.9ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi langt om længe gået igang med at male soklen under vores vinduer. Mikkel er ikke just tilfreds med min måde at gøre det på, men det bliver han nok aldrig haha. Willy er blevet besat af at sidde på min skulder og Mikkel synes åbenbart at et pæretræ skal dø? Jeg svare også på spørgsmål jeg ofte får om hvordan det har været at blive mor, når man har et sind som mit.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64", "3d97df99-dd1c-4b83-8523-aa75b33f3392", 3, [], 1699, false, "NcSqbDLMJCo", "https://www.youtube.com/watch?v=NcSqbDLMJCo", 63, "/downloads/shows/Livet på gården/Season 2025/s2025e110600 - Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64.mp4", false, false, false, 1, ~U[2025-11-06 14:00:48Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit er vi langt om længe gået igang med at male soklen under vores vinduer. Mikkel er ikke just tilfreds med min måde at gøre det på, men det bliver han nok aldrig haha. Willy er blevet besat af at sidde på min skulder og Mikkel synes åbenbart at et pæretræ skal dø? Jeg svare også på spørgsmål jeg ofte får om hvordan det har været at blive mor, når man har et sind som mit.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64", 3, 1699, false, "NcSqbDLMJCo", "https://www.youtube.com/watch?v=NcSqbDLMJCo", "/downloads/shows/Livet på gården/Season 2025/s2025e110600 - Malerarbejde, isbad og at være mor med en diagnose | Livet på gården Ep. 64.mp4", false, ~U[2025-11-06 14:00:48Z]] 02:21:36.708 [debug] QUERY OK source="sources" db=0.2ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.708 [debug] QUERY OK source="media_items" db=0.5ms idle=4.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-13 15:01:37Z], 3] 02:21:36.710 [debug] QUERY OK source="media_items" db=0.9ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dagens afsnit er Mikkel spændt som en flitsbue fordi hans længe ventede drøm om en minilæsser endelig går i opfyldelse og jeg får mig ca. verdens gladeste mand og forhåbenligt lidt ro hahaha. Den er meget velkommen, fordi det er blevet tid til at pille gavlene ned med hjælp fra Mikkels bedste buddy Krog som også er tømrer. Deres mission er at pille 2 gavle ned og bygge dem op igen på 2 dage - et ambitiøst projekt mildt sagt. I kommer med i processen og Mikkel deler han tanker og viden om den slags. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65", "c93c1483-5afa-4e74-8b91-38cc48df5ecb", 3, [], 1312, false, "bt4dqhzvEu0", "https://www.youtube.com/watch?v=bt4dqhzvEu0", 64, "/downloads/shows/Livet på gården/Season 2025/s2025e111300 - Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65.mp4", false, false, false, 1, ~U[2025-11-13 15:01:37Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dagens afsnit er Mikkel spændt som en flitsbue fordi hans længe ventede drøm om en minilæsser endelig går i opfyldelse og jeg får mig ca. verdens gladeste mand og forhåbenligt lidt ro hahaha. Den er meget velkommen, fordi det er blevet tid til at pille gavlene ned med hjælp fra Mikkels bedste buddy Krog som også er tømrer. Deres mission er at pille 2 gavle ned og bygge dem op igen på 2 dage - et ambitiøst projekt mildt sagt. I kommer med i processen og Mikkel deler han tanker og viden om den slags. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65", 3, 1312, false, "bt4dqhzvEu0", "https://www.youtube.com/watch?v=bt4dqhzvEu0", "/downloads/shows/Livet på gården/Season 2025/s2025e111300 - Mikkel får endelig en MINILÆSSER! | Livet på gården Ep. 65.mp4", false, ~U[2025-11-13 15:01:37Z]] 02:21:36.710 [debug] QUERY OK source="sources" db=0.2ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.711 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-20 15:01:06Z], 3] 02:21:36.714 [debug] QUERY OK source="media_items" db=2.5ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit tager Mikkel os med når han viser hvad han har fikset med minilæsseren. Han har gang i den helt store oprydning både det ene og ander sted. Jeg prøver at sidde i minilæsseren for første gang mens Mikkel fortæller hvad den kan. Inde i køkkenet har jeg gang i at langtidskoge ossobuco til baby - og så tager vi jer med i vores planer og forestående indkøb til overetagen. Og det bliver ikke ligefrem gratis. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66", "1e2638a8-405f-4edf-90a7-d033964fc47d", 3, [], 1694, false, "XO87v1AxbWQ", "https://www.youtube.com/watch?v=XO87v1AxbWQ", 65, "/downloads/shows/Livet på gården/Season 2025/s2025e112000 - Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66.mp4", false, false, false, 1, ~U[2025-11-20 15:01:06Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit tager Mikkel os med når han viser hvad han har fikset med minilæsseren. Han har gang i den helt store oprydning både det ene og ander sted. Jeg prøver at sidde i minilæsseren for første gang mens Mikkel fortæller hvad den kan. Inde i køkkenet har jeg gang i at langtidskoge ossobuco til baby - og så tager vi jer med i vores planer og forestående indkøb til overetagen. Og det bliver ikke ligefrem gratis. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66", 3, 1694, false, "XO87v1AxbWQ", "https://www.youtube.com/watch?v=XO87v1AxbWQ", "/downloads/shows/Livet på gården/Season 2025/s2025e112000 - Oprydning, vores maskiner og planer for overetagen | Livet på gården Ep. 66.mp4", false, ~U[2025-11-20 15:01:06Z]] 02:21:36.715 [debug] QUERY OK source="sources" db=0.3ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.716 [debug] QUERY OK source="media_items" db=0.4ms idle=5.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-27 15:01:45Z], 3] 02:21:36.717 [debug] QUERY OK source="media_items" db=1.0ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er vi gået i køkkenet for at forsøge os med at lave vores egen kimchi, som jo er en form for fermenteret koreansk kål, som Mikkel elsker og spiser i store mængder. Det viser sig som lidt af en videnskab, men ikke desto mindre er Mikkel sjofel som altid og jeg forsøger bare at komme i mål med den kål, hahah. Det er samme dag simba prisen, som vi vinder - men som i nok ved, er jeg mere til kimchi end store sale og mennesker. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi laver hjemmelavet kimchi | Livet på gården Ep. 67", "64de6f6b-4fee-49e7-819d-f518a1d213f5", 3, [], 1232, false, "qDN2-yN1EkI", "https://www.youtube.com/watch?v=qDN2-yN1EkI", 66, "/downloads/shows/Livet på gården/Season 2025/s2025e112700 - Vi laver hjemmelavet kimchi | Livet på gården Ep. 67.mp4", false, false, false, 1, ~U[2025-11-27 15:01:45Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit er vi gået i køkkenet for at forsøge os med at lave vores egen kimchi, som jo er en form for fermenteret koreansk kål, som Mikkel elsker og spiser i store mængder. Det viser sig som lidt af en videnskab, men ikke desto mindre er Mikkel sjofel som altid og jeg forsøger bare at komme i mål med den kål, hahah. Det er samme dag simba prisen, som vi vinder - men som i nok ved, er jeg mere til kimchi end store sale og mennesker. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi laver hjemmelavet kimchi | Livet på gården Ep. 67", 3, 1232, false, "qDN2-yN1EkI", "https://www.youtube.com/watch?v=qDN2-yN1EkI", "/downloads/shows/Livet på gården/Season 2025/s2025e112700 - Vi laver hjemmelavet kimchi | Livet på gården Ep. 67.mp4", false, ~U[2025-11-27 15:01:45Z]] 02:21:36.718 [debug] QUERY OK source="sources" db=0.3ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.718 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-11 15:01:34Z], 3] 02:21:36.720 [debug] QUERY OK source="media_items" db=1.0ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit kommer i for alvor med ovenpå når vi lægger en endelig plan for ruminddelingen af overetagen og Mikkel grubler og fortæller hvorfor noget kan lade sig gøre, og andet ikke kan. Vi skal have gang i det helt store isoleringsarbejde, fordi det for alvor er blevet koldt - så vi knokler på og får slæbt isolering op og går igang. Jeg hjælper så godt jeg kan, men som i ved er Mikkel ikke altid begejstret for det jeg byder ind med. Vi kører timelapse derudaf og runder også \"Brohave bliver bøf\", hvilket Mikkel simpelthen ikke ved hvad er, hahahah\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68", "94fa57a0-4d09-4edd-a96f-05f1cd188407", 3, [], 1620, false, "kOicCYUbF9Y", "https://www.youtube.com/watch?v=kOicCYUbF9Y", 67, "/downloads/shows/Livet på gården/Season 2025/s2025e121100 - Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68.mp4", false, false, false, 1, ~U[2025-12-11 15:01:34Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit kommer i for alvor med ovenpå når vi lægger en endelig plan for ruminddelingen af overetagen og Mikkel grubler og fortæller hvorfor noget kan lade sig gøre, og andet ikke kan. Vi skal have gang i det helt store isoleringsarbejde, fordi det for alvor er blevet koldt - så vi knokler på og får slæbt isolering op og går igang. Jeg hjælper så godt jeg kan, men som i ved er Mikkel ikke altid begejstret for det jeg byder ind med. Vi kører timelapse derudaf og runder også \"Brohave bliver bøf\", hvilket Mikkel simpelthen ikke ved hvad er, hahahah\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68", 3, 1620, false, "kOicCYUbF9Y", "https://www.youtube.com/watch?v=kOicCYUbF9Y", "/downloads/shows/Livet på gården/Season 2025/s2025e121100 - Vi isolerer overetagen og laver en planløsning | Livet på gården Ep. 68.mp4", false, ~U[2025-12-11 15:01:34Z]] 02:21:36.721 [debug] QUERY OK source="sources" db=0.4ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.722 [debug] QUERY OK source="media_items" db=0.8ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-18 15:00:08Z], 3] 02:21:36.724 [debug] QUERY OK source="media_items" db=1.1ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården sørger vi for at få lukket af med vintermåtter oppe på overetagen. Jeg er i dårligt humør, en dag vi beslutter os for at hænge lyskæder op udenfor, men Mikkel er som altid smart i en fart og fyre alt muligt pis af, hahah. Derudover har vi kæmpe store problemer i hønsegården og har taget en stor beslutning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69", "b980b3f5-d864-46b9-a376-bf0d199e248b", 3, [], 1331, false, "49M-tMeNIb0", "https://www.youtube.com/watch?v=49M-tMeNIb0", 68, "/downloads/shows/Livet på gården/Season 2025/s2025e121800 - Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69.mp4", false, false, false, 1, ~U[2025-12-18 15:00:08Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit af livet på gården sørger vi for at få lukket af med vintermåtter oppe på overetagen. Jeg er i dårligt humør, en dag vi beslutter os for at hænge lyskæder op udenfor, men Mikkel er som altid smart i en fart og fyre alt muligt pis af, hahah. Derudover har vi kæmpe store problemer i hønsegården og har taget en stor beslutning. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69", 3, 1331, false, "49M-tMeNIb0", "https://www.youtube.com/watch?v=49M-tMeNIb0", "/downloads/shows/Livet på gården/Season 2025/s2025e121800 - Vi hænger julelys op, tager store beslutninger og har et kæmpe problem | Livet på gården Ep. 69.mp4", false, ~U[2025-12-18 15:00:08Z]] 02:21:36.724 [debug] QUERY OK source="sources" db=0.3ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.726 [debug] QUERY OK source="media_items" db=1.2ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-08 15:00:33Z], 3] 02:21:36.728 [debug] QUERY OK source="media_items" db=1.3ms idle=5.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode KRISTINES26 eller få rabatten via linket her: http://www.hellofresh.dk/KRISTINES26\n\nI denne video har vi endelig fundet den helt perfekte brugte trappe som Mikkel henter i Thy, på en trailer der ser pænt spændende ud. Opgaven er så at få den godt på plads inde i laden, indtil den skal monteres i huset. Der er også blevet tomt i hønsehuset for første gang i nærmest alt den tid vi har boet på gården og det synes jeg er ret svært. Jeg er igang i køkkenet og Mikkel fortsætter kampen med at isolere overetagen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71", "bfcf6ffa-9927-4026-a2f0-07e6471f3ba5", 3, [], 1463, false, "EzliYAXWUnU", "https://www.youtube.com/watch?v=EzliYAXWUnU", 69, "/downloads/shows/Livet på gården/Season 2026/s2026e010800 - En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71.mp4", false, false, false, 1, ~U[2026-01-08 15:00:33Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "Denne video indeholder reklame for HelloFresh\nSpar op til 959 kroner på dine første 5 leveringer med min rabatkode KRISTINES26 eller få rabatten via linket her: http://www.hellofresh.dk/KRISTINES26\n\nI denne video har vi endelig fundet den helt perfekte brugte trappe som Mikkel henter i Thy, på en trailer der ser pænt spændende ud. Opgaven er så at få den godt på plads inde i laden, indtil den skal monteres i huset. Der er også blevet tomt i hønsehuset for første gang i nærmest alt den tid vi har boet på gården og det synes jeg er ret svært. Jeg er igang i køkkenet og Mikkel fortsætter kampen med at isolere overetagen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71", 3, 1463, false, "EzliYAXWUnU", "https://www.youtube.com/watch?v=EzliYAXWUnU", "/downloads/shows/Livet på gården/Season 2026/s2026e010800 - En brugt trappe og et helt tomt hønsehus | Livet på gården Ep. 71.mp4", false, ~U[2026-01-08 15:00:33Z]] 02:21:36.728 [debug] QUERY OK source="sources" db=0.3ms idle=6.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.729 [debug] QUERY OK source="media_items" db=0.4ms idle=5.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-15 15:00:57Z], 3] 02:21:36.731 [debug] QUERY OK source="media_items" db=1.0ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode har vi os en noget svag hund som er blevet opereret, jeg organiserer til den helt store guldmedalje og så er jeg altså begyndt at preppe og fylde skabene til ekstra op. Mikkel fyre rundt ovenpå og er ved at kunne se enden på isoleringen og så får vi for alvor et kig på hvordan vores hall kommer til at se ud - den bliver jo kæmpe! \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72", "fad20a65-612f-4481-a236-5ecd011b7a73", 3, [], 1063, false, "W25cAiJgVl4", "https://www.youtube.com/watch?v=W25cAiJgVl4", 70, "/downloads/shows/Livet på gården/Season 2026/s2026e011500 - Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72.mp4", false, false, false, 1, ~U[2026-01-15 15:00:57Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I denne episode har vi os en noget svag hund som er blevet opereret, jeg organiserer til den helt store guldmedalje og så er jeg altså begyndt at preppe og fylde skabene til ekstra op. Mikkel fyre rundt ovenpå og er ved at kunne se enden på isoleringen og så får vi for alvor et kig på hvordan vores hall kommer til at se ud - den bliver jo kæmpe! \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72", 3, 1063, false, "W25cAiJgVl4", "https://www.youtube.com/watch?v=W25cAiJgVl4", "/downloads/shows/Livet på gården/Season 2026/s2026e011500 - Carla bliver opereret og jeg er begyndt at preppe | Livet på gården Ep. 72.mp4", false, ~U[2026-01-15 15:00:57Z]] 02:21:36.731 [debug] QUERY OK source="sources" db=0.2ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.732 [debug] QUERY OK source="media_items" db=0.4ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-22 15:01:06Z], 3] 02:21:36.733 [debug] QUERY OK source="media_items" db=1.0ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne episode sælger vi keramik. I kommer med helt tæt på når jeg forbereder og sætter op. Min mor kommer os til undsætning for at hjælpe med pakkeriet, og jeg er som altid spændt som en flitsbue. Det hele bliver udsolgt på rekordtid og jeg er bare i chok altså. Det er SÅ vildt! \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73", "cdf5b31e-68eb-4e77-8e25-a4c8b04fd8cf", 3, [], 1312, false, "ZhpmiMpVyZw", "https://www.youtube.com/watch?v=ZhpmiMpVyZw", 71, "/downloads/shows/Livet på gården/Season 2026/s2026e012200 - Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73.mp4", false, false, false, 1, ~U[2026-01-22 15:01:06Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I denne episode sælger vi keramik. I kommer med helt tæt på når jeg forbereder og sætter op. Min mor kommer os til undsætning for at hjælpe med pakkeriet, og jeg er som altid spændt som en flitsbue. Det hele bliver udsolgt på rekordtid og jeg er bare i chok altså. Det er SÅ vildt! \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73", 3, 1312, false, "ZhpmiMpVyZw", "https://www.youtube.com/watch?v=ZhpmiMpVyZw", "/downloads/shows/Livet på gården/Season 2026/s2026e012200 - Sådan foregår det når jeg sælger keramik | Livet på gården Ep. 73.mp4", false, ~U[2026-01-22 15:01:06Z]] 02:21:36.734 [debug] QUERY OK source="sources" db=0.4ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.735 [debug] QUERY OK source="media_items" db=0.7ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 15:01:22Z], 3] 02:21:36.737 [debug] QUERY OK source="media_items" db=0.9ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården er vi mildest talt ufatteligt nervøse. Efter en weekend hvor vi akut måtte kører Carla til dyrlægen, er Mikkel kørt afsted med hende til Viborg hvor hun skal ind til en neurolog, fordi hun opfører sig helt skørt og ved siden af sig selv. I mens forsøger jeg at distrahere mig selv i keramikken. Senere er der dårlig stemning på første salen da det går op for os at Willy bruger isolering som toilet - og så er vi en tur udenfor, for at rydde op efter nedrivningen af gavlene. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74", "75246722-9e46-4613-b3c5-ac261b5c040f", 3, [], 1476, false, "mJgxlMp3x34", "https://www.youtube.com/watch?v=mJgxlMp3x34", 72, "/downloads/shows/Livet på gården/Season 2026/s2026e012900 - Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74.mp4", false, false, false, 1, ~U[2026-01-29 15:01:22Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit af livet på gården er vi mildest talt ufatteligt nervøse. Efter en weekend hvor vi akut måtte kører Carla til dyrlægen, er Mikkel kørt afsted med hende til Viborg hvor hun skal ind til en neurolog, fordi hun opfører sig helt skørt og ved siden af sig selv. I mens forsøger jeg at distrahere mig selv i keramikken. Senere er der dårlig stemning på første salen da det går op for os at Willy bruger isolering som toilet - og så er vi en tur udenfor, for at rydde op efter nedrivningen af gavlene. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74", 3, 1476, false, "mJgxlMp3x34", "https://www.youtube.com/watch?v=mJgxlMp3x34", "/downloads/shows/Livet på gården/Season 2026/s2026e012900 - Carla er ved hjernedyrlægen og vi er rædselsslagne | Livet på gården Ep. 74.mp4", false, ~U[2026-01-29 15:01:22Z]] 02:21:36.737 [debug] QUERY OK source="sources" db=0.2ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.738 [debug] QUERY OK source="media_items" db=0.4ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 15:01:29Z], 3] 02:21:36.740 [debug] QUERY OK source="media_items" db=1.7ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video fortsætter byggeriet og jeg får overtalt Mikkel til selv at tage kameraet med op og fortælle lidt mere teknisk om hvad han laver og hvorfor - og så har han lavet en timelapse (så cute). Mens der sker gevaldige fremskridt på første salen, er min første sal udfordret. Jeg er træt med træt på. Der er også kommet sne på gården og så opdatere jeg på hvordan det går med Carla. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75", "bc5bff6d-38f0-41f7-bedb-a88d2ca97f7e", 3, [], 1929, false, "o4CgI8DjMPw", "https://www.youtube.com/watch?v=o4CgI8DjMPw", 73, "/downloads/shows/Livet på gården/Season 2026/s2026e020500 - Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75.mp4", false, false, false, 1, ~U[2026-02-05 15:01:29Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I denne video fortsætter byggeriet og jeg får overtalt Mikkel til selv at tage kameraet med op og fortælle lidt mere teknisk om hvad han laver og hvorfor - og så har han lavet en timelapse (så cute). Mens der sker gevaldige fremskridt på første salen, er min første sal udfordret. Jeg er træt med træt på. Der er også kommet sne på gården og så opdatere jeg på hvordan det går med Carla. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75", 3, 1929, false, "o4CgI8DjMPw", "https://www.youtube.com/watch?v=o4CgI8DjMPw", "/downloads/shows/Livet på gården/Season 2026/s2026e020500 - Mikkel overtager kameraet mens han bygger og fortæller | Livet på gården Ep. 75.mp4", false, ~U[2026-02-05 15:01:29Z]] 02:21:36.741 [debug] QUERY OK source="sources" db=0.4ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.742 [debug] QUERY OK source="media_items" db=0.5ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-12 15:01:16Z], 3] 02:21:36.743 [debug] QUERY OK source="media_items" db=1.1ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården går Mikkel i krig med at rette gulvet op på overetagen og får lagt en en gulvspånplader. Der er nedslående nyheder fra Krog, the man of all men, som er vores mest pålidelige hjælp - og så tager vi altså en snak om økonomien i en renovering som vores. Hvad har overetagen kostet indtil videre? Og hvad regner vi med at bruge? Mikkel tegner og fortæller grundigt om den endelige planløsning som nu er fastlagt - og nårh ja, så har jeg fået min menstruation for første gang siden fødslen og det er ikke for tøsedrenge\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76", "7e4f5f4c-d798-419a-a2c8-1a6bbd956548", 3, [], 1827, false, "gZRnKqaiy3k", "https://www.youtube.com/watch?v=gZRnKqaiy3k", 74, "/downloads/shows/Livet på gården/Season 2026/s2026e021200 - Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76.mp4", false, false, false, 1, ~U[2026-02-12 15:01:16Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit af livet på gården går Mikkel i krig med at rette gulvet op på overetagen og får lagt en en gulvspånplader. Der er nedslående nyheder fra Krog, the man of all men, som er vores mest pålidelige hjælp - og så tager vi altså en snak om økonomien i en renovering som vores. Hvad har overetagen kostet indtil videre? Og hvad regner vi med at bruge? Mikkel tegner og fortæller grundigt om den endelige planløsning som nu er fastlagt - og nårh ja, så har jeg fået min menstruation for første gang siden fødslen og det er ikke for tøsedrenge\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76", 3, 1827, false, "gZRnKqaiy3k", "https://www.youtube.com/watch?v=gZRnKqaiy3k", "/downloads/shows/Livet på gården/Season 2026/s2026e021200 - Hvad koster det at totalrenovere en gård fra 1877? | Livet på gården Ep. 76.mp4", false, ~U[2026-02-12 15:01:16Z]] 02:21:36.744 [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" = ?) [3] 02:21:36.745 [debug] QUERY OK source="media_items" db=0.4ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-19 15:01:02Z], 3] 02:21:36.746 [debug] QUERY OK source="media_items" db=1.0ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit trodser vi kulden og begynder at måle op og lægge planer for udvidelsen af mit keramikværksted som vi har planer om. Mikkel hjælper mig med at lave tørreplader af gips til keramikken - og så snakker vi om hvad folk på reddit synes om os. Jeg tager jer også med lidt mere i detaljen af hvordan det foregår når jeg blandt andet glasere kopper. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77", "ca16db5f-2b86-4048-9146-149081810f84", 3, [], 1488, false, "XPD5zoS3yLA", "https://www.youtube.com/watch?v=XPD5zoS3yLA", 75, "/downloads/shows/Livet på gården/Season 2026/s2026e021900 - Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77.mp4", false, false, false, 1, ~U[2026-02-19 15:01:02Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit trodser vi kulden og begynder at måle op og lægge planer for udvidelsen af mit keramikværksted som vi har planer om. Mikkel hjælper mig med at lave tørreplader af gips til keramikken - og så snakker vi om hvad folk på reddit synes om os. Jeg tager jer også med lidt mere i detaljen af hvordan det foregår når jeg blandt andet glasere kopper. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77", 3, 1488, false, "XPD5zoS3yLA", "https://www.youtube.com/watch?v=XPD5zoS3yLA", "/downloads/shows/Livet på gården/Season 2026/s2026e021900 - Planer for det nye keramikværksted og glasering af kopper | Livet på gården Ep. 77.mp4", false, ~U[2026-02-19 15:01:02Z]] 02:21:36.747 [debug] QUERY OK source="sources" db=0.2ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.748 [debug] QUERY OK source="media_items" db=0.4ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-26 15:00:51Z], 3] 02:21:36.749 [debug] QUERY OK source="media_items" db=1.1ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Denne video indeholder reklame for HelloFresh. \n\nSpar op til 959 kroner på dine første 5 måltidskasser og få gratis snacks med de første 3 måneder med min kode: KRISTINES2026\nEller få rabatten helt automatisk ved brug af dette link: http://www.hellofresh.dk/KRISTINES2026\n\ndenne video er vores længe ventede 3D printer endelig kommet hjem - noget vi har set frem til og særligt Mikkel som den grej freak han er, synes det er spændende. Vi samler den og prøver den af - og sikke en verden! I kommer med i køkkenet hvor den står på en smule primitiv madlavning fordi køkkenet flyder, fordi der er VVS arbejde igang og så viser jeg nogle af de sager vi har printet frem. Og er meget fascineret. Vi er også i sving med den helt store rengøring inden Rasmus Brohave kommer på besøg og skal overnatte - og det er jo ingen hemmelighed at min rengøringsstandard ikke helt lever op til den meget pæne mands, haha\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi har købt en 3D printer! | Livet på gården Ep. 78", "8333652c-2de1-49f0-992f-81ec3f9ff7ec", 3, [], 1391, false, "Op8Tlzdn5eo", "https://www.youtube.com/watch?v=Op8Tlzdn5eo", 76, "/downloads/shows/Livet på gården/Season 2026/s2026e022600 - Vi har købt en 3D printer! | Livet på gården Ep. 78.mp4", false, false, false, 1, ~U[2026-02-26 15:00:51Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "Denne video indeholder reklame for HelloFresh. \n\nSpar op til 959 kroner på dine første 5 måltidskasser og få gratis snacks med de første 3 måneder med min kode: KRISTINES2026\nEller få rabatten helt automatisk ved brug af dette link: http://www.hellofresh.dk/KRISTINES2026\n\ndenne video er vores længe ventede 3D printer endelig kommet hjem - noget vi har set frem til og særligt Mikkel som den grej freak han er, synes det er spændende. Vi samler den og prøver den af - og sikke en verden! I kommer med i køkkenet hvor den står på en smule primitiv madlavning fordi køkkenet flyder, fordi der er VVS arbejde igang og så viser jeg nogle af de sager vi har printet frem. Og er meget fascineret. Vi er også i sving med den helt store rengøring inden Rasmus Brohave kommer på besøg og skal overnatte - og det er jo ingen hemmelighed at min rengøringsstandard ikke helt lever op til den meget pæne mands, haha\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: business@kristinesloth.dk", "Vi har købt en 3D printer! | Livet på gården Ep. 78", 3, 1391, false, "Op8Tlzdn5eo", "https://www.youtube.com/watch?v=Op8Tlzdn5eo", "/downloads/shows/Livet på gården/Season 2026/s2026e022600 - Vi har købt en 3D printer! | Livet på gården Ep. 78.mp4", false, ~U[2026-02-26 15:00:51Z]] 02:21:36.750 [debug] QUERY OK source="sources" db=0.2ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.751 [debug] QUERY OK source="media_items" db=0.5ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-05 15:00:58Z], 3] 02:21:36.753 [debug] QUERY OK source="media_items" db=1.1ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit af livet på gården er der virkelig gang i den. Vi starter ugen ud med at have Rasmus Brohave til overnatning - og han får den store rundtur. Sneen er for alvor kommet på besøg og Mikkel har naturligvis travlt med at komme ud i minilæsseren i en fart - og helt frivilligt tager han kameraet med, så i kan se hvordan det foregår at rydde vores meget lange grusvej. Mine forældre er på besøg - og som altid hjælper min mor med noget husligt og min far tilslutter sig Mikkel og byggeriet - jeg laver babymad og så er jeg blevet besat af surdej. Og nårh jo, så er min baby begyndt at sove om natten.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79", "1ac9a52d-af10-45b5-8d13-e064f2d9f214", 3, [], 1601, false, "Th4fpPdHVU0", "https://www.youtube.com/watch?v=Th4fpPdHVU0", 77, "/downloads/shows/Livet på gården/Season 2026/s2026e030500 - Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79.mkv", false, false, false, 1, ~U[2026-03-05 15:00:58Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit af livet på gården er der virkelig gang i den. Vi starter ugen ud med at have Rasmus Brohave til overnatning - og han får den store rundtur. Sneen er for alvor kommet på besøg og Mikkel har naturligvis travlt med at komme ud i minilæsseren i en fart - og helt frivilligt tager han kameraet med, så i kan se hvordan det foregår at rydde vores meget lange grusvej. Mine forældre er på besøg - og som altid hjælper min mor med noget husligt og min far tilslutter sig Mikkel og byggeriet - jeg laver babymad og så er jeg blevet besat af surdej. Og nårh jo, så er min baby begyndt at sove om natten.\n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79", 3, 1601, false, "Th4fpPdHVU0", "https://www.youtube.com/watch?v=Th4fpPdHVU0", "/downloads/shows/Livet på gården/Season 2026/s2026e030500 - Brohave på besøg, snestorm og surdejsbesættelse| Livet på gården Ep. 79.mkv", false, ~U[2026-03-05 15:00:58Z]] 02:21:36.754 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.755 [debug] QUERY OK source="media_items" db=0.7ms idle=4.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-12 15:00:58Z], 3] 02:21:36.757 [debug] QUERY OK source="media_items" db=1.1ms idle=5.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er mine forældre på besøg og min mor og jeg sætter os for langt om længe at få støbt nogle fugtkasser til mig, som er et uundværligt redskab i keramikværkstedet. Jeg er efter lang tids pause tilbage ved bageriet og kaster mig over nogle virale chokoladeboller - og så har vvs'eren været på for at etablere pexslanger til kold og varm vand, så Mikkel nu kan komme videre med tømrerdelen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80", "f7f65d6f-7b20-4a17-bf84-2ec69ad6f935", 3, [], 1829, false, "WZAGvRqldgo", "https://www.youtube.com/watch?v=WZAGvRqldgo", 78, "/downloads/shows/Livet på gården/Season 2026/s2026e031200 - Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80.mkv", false, false, false, 1, ~U[2026-03-12 15:00:58Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit er mine forældre på besøg og min mor og jeg sætter os for langt om længe at få støbt nogle fugtkasser til mig, som er et uundværligt redskab i keramikværkstedet. Jeg er efter lang tids pause tilbage ved bageriet og kaster mig over nogle virale chokoladeboller - og så har vvs'eren været på for at etablere pexslanger til kold og varm vand, så Mikkel nu kan komme videre med tømrerdelen. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80", 3, 1829, false, "WZAGvRqldgo", "https://www.youtube.com/watch?v=WZAGvRqldgo", "/downloads/shows/Livet på gården/Season 2026/s2026e031200 - Fugtkasser, chokoladeboller og vvs arbejde | Livet på gården Ep. 80.mkv", false, ~U[2026-03-12 15:00:58Z]] 02:21:36.758 [debug] QUERY OK source="sources" db=0.6ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.758 [debug] QUERY OK source="media_items" db=0.6ms idle=5.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-19 15:01:40Z], 3] 02:21:36.760 [debug] QUERY OK source="media_items" db=1.2ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit prøver jeg at bage med min surdej for aller første gang - det viser sig jo at være en lang proces, men det jeg tror faktisk det går okay? Mikkel er i fuld gang med at bygge skillevægge på første salen og han tager kameraet med og fortæller hvordan og hvorledes - og laver timelapse af processen. Malene kommer på besøg efter mange måneder - og hvad laver hun egentlig nu? Det runder vi - og så tager vi en status på forretningsdelen i keramikken og snakker om hvordan det går. Og så har jeg lavet kopper til et særligt par. Malene kan ikke gætte hvem de er til - men det kan du måske? \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81", "ee39bc25-2238-46a8-ab27-dd3048ab86d8", 3, [], 1440, false, "wvCb1ystnC0", "https://www.youtube.com/watch?v=wvCb1ystnC0", 79, "/downloads/shows/Livet på gården/Season 2026/s2026e031900 - Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81.mkv", false, false, false, 1, ~U[2026-03-19 15:01:40Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit prøver jeg at bage med min surdej for aller første gang - det viser sig jo at være en lang proces, men det jeg tror faktisk det går okay? Mikkel er i fuld gang med at bygge skillevægge på første salen og han tager kameraet med og fortæller hvordan og hvorledes - og laver timelapse af processen. Malene kommer på besøg efter mange måneder - og hvad laver hun egentlig nu? Det runder vi - og så tager vi en status på forretningsdelen i keramikken og snakker om hvordan det går. Og så har jeg lavet kopper til et særligt par. Malene kan ikke gætte hvem de er til - men det kan du måske? \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81", 3, 1440, false, "wvCb1ystnC0", "https://www.youtube.com/watch?v=wvCb1ystnC0", "/downloads/shows/Livet på gården/Season 2026/s2026e031900 - Malene på besøg, surdej og skillevægge | Livet på gården Ep. 81.mkv", false, ~U[2026-03-19 15:01:40Z]] 02:21:36.761 [debug] QUERY OK source="sources" db=0.4ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.762 [debug] QUERY OK source="media_items" db=0.9ms idle=4.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-26 15:01:31Z], 3] 02:21:36.764 [debug] QUERY OK source="media_items" db=1.1ms idle=5.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I denne video har Mikkel for alvor taget mine ord til sig og taget kameraet med ovenpå mens han er i fuld gang med gulvvarmen - han går i detaljer med hvordan han gør og hvilke tanker han har gjort sig om processen. Blandt andet fortæller han hvordan han har valgt at lave et \"svømmende gulv\". Vi er på årets første have vandring og beslutter os for nu at sætte alt ind på at den køkkenhave skal komme til at spille. Alt skal væk og etableres helt på ny!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82", "c1414167-5019-4b63-b041-882d26adc8ba", 3, [], 1393, false, "pxD1_Ax0eMI", "https://www.youtube.com/watch?v=pxD1_Ax0eMI", 80, "/downloads/shows/Livet på gården/Season 2026/s2026e032600 - Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82.mkv", false, false, false, 1, ~U[2026-03-26 15:01:31Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I denne video har Mikkel for alvor taget mine ord til sig og taget kameraet med ovenpå mens han er i fuld gang med gulvvarmen - han går i detaljer med hvordan han gør og hvilke tanker han har gjort sig om processen. Blandt andet fortæller han hvordan han har valgt at lave et \"svømmende gulv\". Vi er på årets første have vandring og beslutter os for nu at sætte alt ind på at den køkkenhave skal komme til at spille. Alt skal væk og etableres helt på ny!\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82", 3, 1393, false, "pxD1_Ax0eMI", "https://www.youtube.com/watch?v=pxD1_Ax0eMI", "/downloads/shows/Livet på gården/Season 2026/s2026e032600 - Kan vi lave den perfekte køkkenhave? | Livet på gården Ep. 82.mkv", false, ~U[2026-03-26 15:01:31Z]] 02:21:36.765 [debug] QUERY OK source="sources" db=0.3ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.766 [debug] QUERY OK source="media_items" db=0.6ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-02 14:00:55Z], 3] 02:21:36.769 [debug] QUERY OK source="media_items" db=2.9ms idle=4.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit går vi for alvor igang med den stor omvæltning af køkkenhaven. Vi rydder drivhuset, fjerner alle bedene og jævner jorden så vi kan starte helt forfra. Vi har købt en drone, så som noget nyt er i også med fra luften og kan se hvordan det går når vi kører med minilæsseren, jævner sand ud og lægger helt ny ukrudtsdug. Jeg gør også klar til endnu et keramiksalg og i er med når jeg forbereder og tager billeder af alle sagerne. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83", "38a0a91e-294e-48bc-9a86-1f0228c679be", 3, [], 1291, false, "dZk6prUzZkw", "https://www.youtube.com/watch?v=dZk6prUzZkw", 81, "/downloads/shows/Livet på gården/Season 2026/s2026e040200 - Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83.mkv", false, false, false, 1, ~U[2026-04-02 14:00:55Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit går vi for alvor igang med den stor omvæltning af køkkenhaven. Vi rydder drivhuset, fjerner alle bedene og jævner jorden så vi kan starte helt forfra. Vi har købt en drone, så som noget nyt er i også med fra luften og kan se hvordan det går når vi kører med minilæsseren, jævner sand ud og lægger helt ny ukrudtsdug. Jeg gør også klar til endnu et keramiksalg og i er med når jeg forbereder og tager billeder af alle sagerne. \n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83", 3, 1291, false, "dZk6prUzZkw", "https://www.youtube.com/watch?v=dZk6prUzZkw", "/downloads/shows/Livet på gården/Season 2026/s2026e040200 - Vi starter HELT forfra med køkkenhaven! | Livet på gården Ep. 83.mkv", false, ~U[2026-04-02 14:00:55Z]] 02:21:36.770 [debug] QUERY OK source="sources" db=0.4ms idle=7.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [3] 02:21:36.772 [debug] QUERY OK source="media_items" db=1.2ms idle=6.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-04-16 14:00:44Z], 3] 02:21:36.774 [debug] QUERY OK source="media_items" db=1.4ms idle=7.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I dette afsnit er Mikkel i fuld gang med at lave skillevægge på førstesalen. De bliver isoleret og der bliver sat pharmacell op - han fortæller hvorfor og hvordan han gør både det ene og det andet. Vi har ryddet hele mit keramikværksted, for at kunne komme igang med renoveringen - og Mikkel laver både flydespartel og laver i øvrigt også hvad han selv kalder det grimmeste fugearbejde nogensinde. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Mikkel bygger skillevægge og laver flydespartel | Livet på gården Ep. 84", "5ab0f3ff-fd24-47ab-b78d-2a4e61fd1f68", 3, [], 1232, false, "SIJsPP2BFVw", "https://www.youtube.com/watch?v=SIJsPP2BFVw", 82, "/downloads/shows/Livet på gården/Season 2026/s2026e041600 - Mikkel bygger skillevægge og laver flydespartel | Livet på gården Ep. 84.mkv", false, false, false, 1, ~U[2026-04-16 14:00:44Z], ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], "I dette afsnit er Mikkel i fuld gang med at lave skillevægge på førstesalen. De bliver isoleret og der bliver sat pharmacell op - han fortæller hvorfor og hvordan han gør både det ene og det andet. Vi har ryddet hele mit keramikværksted, for at kunne komme igang med renoveringen - og Mikkel laver både flydespartel og laver i øvrigt også hvad han selv kalder det grimmeste fugearbejde nogensinde. \n\n------------------------------------------------------------------------------------------------------------\n\n► MINE SOCIALE MEDIER\nInstagram: @kristiinesloth\n\n-----------------------------------------------------------------------------------------------------------------\n\nBuisness mail: camilla@podads.dk", "Mikkel bygger skillevægge og laver flydespartel | Livet på gården Ep. 84", 3, 1232, false, "SIJsPP2BFVw", "https://www.youtube.com/watch?v=SIJsPP2BFVw", "/downloads/shows/Livet på gården/Season 2026/s2026e041600 - Mikkel bygger skillevægge og laver flydespartel | Livet på gården Ep. 84.mkv", false, ~U[2026-04-16 14:00:44Z]] 02:21:36.775 [debug] QUERY OK source="sources" db=0.6ms idle=8.4ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z], 3] 02:21:36.776 [debug] QUERY OK source="media_items" db=1.0ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 02:21:36.778 [debug] QUERY OK source="media_items" db=0.4ms idle=5.6ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [3] 02:21:36.778 [debug] QUERY OK source="media_items" db=0.1ms idle=4.5ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [3] 02:21:36.778 [info] No notification servers provided for source 3 02:21:36.780 [debug] QUERY OK source="tasks" db=0.1ms idle=2.3ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [4853, 3, ~U[2026-04-17 00:21:36Z], ~U[2026-04-17 00:21:36Z]] 02:21:36.780 [info] {"args":{"id":3},"id":4846,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":221136281,"event":"job:stop","queue_time":652015,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 02:21:41.312 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SIJsPP2BFVw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0a/55/0a5517489acfeb7ae126b512f0fa528b217807bd815d1172883ffbf1c3c68d95.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:21:41.312 [debug] Running yt-dlp command for action: download 02:21:41.313 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=1142.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:21:41.314 [debug] QUERY OK source="settings" db=0.5ms queue=0.3ms idle=1143.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:21:41.316 [debug] QUERY OK source="settings" db=1.2ms idle=1144.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:21:41.317 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SIJsPP2BFVw --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/shows/Livet på gården/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor,interaction --output /downloads/shows/Livet på gården/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/16/9e/169e51afd6d203532ec7af30e03b4fce37d4002add120c21b62e2f388b070695.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:22:00.274 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:22:02.122 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:22:08.940 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SIJsPP2BFVw --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/shows/Livet på gården/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --sponsorblock-remove sponsor,interaction --output /downloads/shows/Livet på gården/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/16/9e/169e51afd6d203532ec7af30e03b4fce37d4002add120c21b62e2f388b070695.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:22:08.967 [debug] Running yt-dlp command for action: download_thumbnail 02:22:08.968 [debug] QUERY OK source="settings" db=0.1ms idle=1797.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:22:08.968 [debug] QUERY OK source="settings" db=0.1ms idle=1797.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:22:08.968 [debug] QUERY OK source="settings" db=0.1ms idle=1797.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 02:22:08.968 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SIJsPP2BFVw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/163716/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/54/99/5499322178f8f2d3dd9702b05fe18b1fc9d93020e478a3908a22a79581954d44.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 02:22:13.991 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=SIJsPP2BFVw --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/163716/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/54/99/5499322178f8f2d3dd9702b05fe18b1fc9d93020e478a3908a22a79581954d44.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 02:22:13.992 [debug] QUERY OK db=0.2ms queue=0.2ms idle=1821.4ms begin [] 02:22:13.996 [debug] QUERY OK source="media_items" db=4.1ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "nfo_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-17 00:22:08Z], "/downloads/shows/Livet på gården/Season 2026/s2026e041600 - Mikkel bygger skillevægge og laver flydespartel | Livet på gården Ep. 84.mp4", "/downloads/shows/Livet på gården/Season 2026/s2026e041600 - Mikkel bygger skillevægge og laver flydespartel | Livet på gården Ep. 84.nfo", "/downloads/shows/Livet på gården/Season 2026/s2026e041600 - Mikkel bygger skillevægge og laver flydespartel | Livet på gården Ep. 84-thumb.jpg", ~U[2026-04-17 00:22:13Z], 163716] 02:22:14.002 [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/163716/metadata.json.gz", "/config/metadata/media_items/163716/thumbnail.jpg", 163716, ~U[2026-04-17 00:22:13Z], ~U[2026-04-17 00:22:13Z]] 02:22:14.003 [debug] QUERY OK db=0.2ms commit [] 02:22:14.004 [debug] QUERY OK source="media_items" db=0.7ms idle=1832.9ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [940943530, ~U[2026-04-17 00:22:14Z], 163716] 02:22:14.004 [info] User scripts lifecyle file either not present or is empty. Skipping. 02:22:14.004 [info] {"args":{"id":163716},"id":4852,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":37625114,"event":"job:stop","queue_time":378421,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 02:22:32.123 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:00.275 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:23:02.124 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:23:32.125 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:00.276 [info] {"source":"oban","duration":217,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:24:02.125 [info] {"source":"oban","duration":509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:24:32.127 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:00.277 [info] {"source":"oban","duration":156,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:25:02.128 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:25:32.129 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:00.278 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:26:02.130 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:26:32.131 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:00.279 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:27:02.132 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:27:32.133 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:00.280 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:28:02.134 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:28:32.135 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:00.281 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:29:02.136 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:29:32.137 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:00.282 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:30:02.138 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:30:32.139 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:00.283 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:31:02.140 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:31:32.141 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:00.284 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:32:02.142 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:32:32.143 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:00.285 [info] {"source":"oban","duration":243,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:33:02.144 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:33:32.145 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:00.286 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:34:02.146 [info] {"source":"oban","duration":825,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:34:32.147 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:00.288 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:35:02.148 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:35:32.149 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:00.289 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:36:02.150 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:36:32.151 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:00.290 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:37:02.152 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:37:32.153 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:00.291 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:38:02.154 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:38:32.155 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:00.292 [info] {"source":"oban","duration":222,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:39:02.156 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:39:32.157 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:00.293 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:40:02.158 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:40:32.159 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:00.294 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:41:02.160 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:41:32.161 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:00.295 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:42:02.162 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:42:32.163 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:00.296 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:43:02.164 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:43:32.165 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:00.297 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:44:02.166 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:44:32.167 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:00.298 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:45:02.168 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:45:32.169 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:00.299 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:46:02.170 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:46:32.171 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:00.300 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:47:02.172 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:47:32.173 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:00.301 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:48:02.179 [info] {"source":"oban","duration":1351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:48:32.181 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:00.302 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:49:02.182 [info] {"source":"oban","duration":862,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:49:32.184 [info] {"source":"oban","duration":983,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:00.303 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:50:02.186 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:50:32.187 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:00.304 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:51:02.188 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:51:32.189 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:00.305 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:52:02.190 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:52:32.191 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:00.306 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:53:02.192 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:53:32.194 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:00.307 [info] {"source":"oban","duration":178,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:54:02.195 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:54:32.196 [info] {"source":"oban","duration":633,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:00.308 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:55:02.197 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:55:32.198 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:00.309 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:56:02.199 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:56:32.200 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:00.310 [info] {"source":"oban","duration":154,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:57:02.201 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:57:32.202 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:00.311 [info] {"source":"oban","duration":110,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:58:02.203 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:58:32.204 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:00.312 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 02:59:02.205 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 02:59:32.206 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:00.321 [info] {"source":"oban","duration":6519,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[4854]} 03:00:00.327 [info] {"args":{},"id":4854,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"system_time":1776387600327460158,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","local_data"]} 03:00:00.332 [debug] QUERY OK source="media_items" db=5.0ms idle=124.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" WHERE ((NOT (m0."media_filepath" IS NULL) AND IFNULL(retention_period_days, 0) > 0 AND DATETIME(media_downloaded_at, '+' || retention_period_days || ' day') < DATETIME('now') ) AND NOT (m0."prevent_culling" = 1)) [] 03:00:00.333 [info] Culling 1 media items past their retention date 03:00:00.335 [debug] QUERY OK source="tasks" db=1.1ms idle=130.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."media_item_id" = ?) AND (o1."state" IN (?,?,?,?,?,?,?)) [155929, "scheduled", "available", "executing", "retryable", "completed", "discarded", "cancelled"] 03:00:00.337 [debug] QUERY OK source="tasks" db=0.1ms idle=9.7ms DELETE FROM "tasks" WHERE "id" = ? [3388] 03:00:00.339 [debug] QUERY OK source="tasks" db=0.3ms idle=3.0ms DELETE FROM "tasks" WHERE "id" = ? [3397] 03:00:00.345 [info] User scripts lifecyle file either not present or is empty. Skipping. 03:00:00.348 [debug] QUERY OK source="media_items" db=2.0ms idle=9.3ms UPDATE "media_items" SET "culled_at" = ?, "media_filepath" = ?, "nfo_filepath" = ?, "prevent_download" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-17 01:00:00Z], nil, nil, true, nil, ~U[2026-04-17 01:00:00Z], 155929] 03:00:00.353 [debug] QUERY OK source="media_items" db=4.7ms idle=11.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" WHERE ((NOT (m0."media_filepath" IS NULL) AND NOT ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND NOT (m0."prevent_culling" = 1)) [] 03:00:00.353 [info] Deleting 0 media items that are from before the source cutoff 03:00:00.354 [info] {"args":{},"id":4854,"meta":{"cron":true,"cron_expr":"0 1 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.Downloading.MediaRetentionWorker","source":"oban","duration":26184,"event":"job:stop","queue_time":326501,"attempt":1,"tags":["media_item","local_data"]} 03:00:02.207 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:00:32.208 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:00.322 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:01:02.209 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:01:32.210 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:00.323 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:02:02.211 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:02:32.212 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:00.324 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:03:02.213 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:03:32.214 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:00.325 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:04:02.215 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:04:32.216 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:00.326 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:05:02.217 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:05:32.218 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:00.327 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:06:02.219 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:06:32.220 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:00.328 [info] {"source":"oban","duration":242,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:07:02.221 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:07:32.222 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:00.329 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:08:02.223 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:08:32.224 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:00.330 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:09:02.225 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:09:32.226 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:00.331 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:10:02.227 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:10:32.228 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:00.332 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:11:02.228 [info] {"source":"oban","duration":629,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:11:32.230 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:00.333 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:12:02.230 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:12:32.232 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:00.334 [info] {"source":"oban","duration":146,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:13:02.233 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:13:32.234 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:00.335 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:14:02.235 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:14:32.236 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:00.336 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:15:02.237 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:15:32.238 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:00.337 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:16:02.239 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:16:32.240 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:00.338 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:17:02.241 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:17:32.242 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:00.339 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:18:02.243 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:18:32.244 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:00.340 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:19:02.245 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:19:32.246 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:00.341 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:20:02.248 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:20:32.249 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:00.342 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:21:02.250 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:21:32.251 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:00.343 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:22:02.252 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:22:32.253 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:00.344 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:23:02.254 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:23:32.255 [info] {"source":"oban","duration":1063,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:00.345 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:24:02.257 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:24:32.258 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:00.346 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:25:02.259 [info] {"source":"oban","duration":641,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:25:32.260 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:00.347 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:26:02.261 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:26:32.262 [info] {"source":"oban","duration":846,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:00.348 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:27:02.264 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:27:32.264 [info] {"source":"oban","duration":484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:00.349 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:28:02.266 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:28:32.267 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:00.350 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:29:02.268 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:29:32.269 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:00.351 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:30:02.270 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:30:32.271 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:00.352 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:31:02.272 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:31:32.273 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:00.353 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:32:02.274 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:32:32.275 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:00.354 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:33:02.276 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:33:32.277 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:00.355 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:34:02.278 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:34:32.279 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:00.356 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:35:02.280 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:35:32.281 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:00.357 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:36:02.282 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:36:32.283 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:00.358 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:37:02.284 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:37:32.285 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:00.359 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:38:02.286 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:38:32.287 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:00.360 [info] {"source":"oban","duration":321,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:39:02.288 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:39:32.289 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:00.361 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:40:02.290 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:40:32.291 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:00.362 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:41:02.292 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:41:32.293 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:00.363 [info] {"source":"oban","duration":222,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:42:02.294 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:42:32.294 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:00.364 [info] {"source":"oban","duration":168,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:43:02.295 [info] {"source":"oban","duration":515,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:43:32.296 [info] {"source":"oban","duration":551,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:00.365 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:44:02.298 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:44:32.299 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:00.366 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:45:02.300 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:45:32.301 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:00.367 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:46:02.302 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:46:32.303 [info] {"source":"oban","duration":930,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:00.368 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:47:02.305 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:47:32.306 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:00.369 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:48:02.307 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:48:32.308 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:00.370 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:49:02.309 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:49:32.310 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:00.371 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:50:02.311 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:50:32.312 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:00.372 [info] {"source":"oban","duration":230,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:51:02.313 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:51:32.314 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:00.373 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:52:02.315 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:52:32.316 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:00.374 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:53:02.317 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:53:32.319 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:00.375 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:54:02.320 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:54:32.321 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:00.376 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:55:02.322 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:55:32.323 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:00.377 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:56:02.324 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:56:32.325 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:00.378 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:57:02.326 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:57:32.327 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:00.379 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:58:02.327 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:58:32.329 [info] {"source":"oban","duration":650,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:00.380 [info] {"source":"oban","duration":151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 03:59:02.330 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 03:59:32.330 [info] {"source":"oban","duration":489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:00.384 [info] {"source":"oban","duration":2907,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[4855]} 04:00:00.391 [info] {"args":{},"id":4855,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"system_time":1776391200390585889,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaQualityUpgradeWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:00.399 [debug] QUERY OK source="media_items" db=8.2ms idle=136.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) AND NOT (m0."prevent_download" = 1)) AND NOT (NOT (m0."media_redownloaded_at" IS NULL))) AND IFNULL(redownload_delay_days, 0) > 0 AND DATE('now', '-' || redownload_delay_days || ' day') > DATE(uploaded_at) AND DATE(media_downloaded_at, '-' || redownload_delay_days || ' day') < DATE(uploaded_at) ) [] 04:00:00.399 [info] Redownloading 0 media items 04:00:00.403 [info] {"args":{},"id":4855,"meta":{"cron":true,"cron_expr":"0 2 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaQualityUpgradeWorker","source":"oban","duration":9489,"event":"job:stop","queue_time":389379,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 04:00:02.332 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:00:32.333 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:00.385 [info] {"source":"oban","duration":228,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:01:02.334 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:01:32.335 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:00.386 [info] {"source":"oban","duration":237,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:02:02.336 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:02:32.337 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:00.387 [info] {"source":"oban","duration":243,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:03:02.338 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:03:32.339 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:00.388 [info] {"source":"oban","duration":233,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:04:02.340 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:04:32.341 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:00.389 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:05:02.342 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:05:32.343 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:00.390 [info] {"source":"oban","duration":239,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:06:02.344 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:06:32.345 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:00.391 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:07:02.346 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:07:32.347 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:00.392 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:08:02.348 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:08:32.349 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:00.393 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:09:02.350 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:09:32.351 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:00.394 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:10:02.352 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:10:32.353 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:00.395 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:11:02.354 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:11:32.355 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:00.396 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:12:02.356 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:12:32.357 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:00.397 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:13:02.358 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:13:32.359 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:00.398 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:14:02.360 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:14:32.361 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:00.399 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:15:02.362 [info] {"source":"oban","duration":632,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:15:32.362 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:00.400 [info] {"source":"oban","duration":116,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:16:02.364 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:16:32.365 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:00.401 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:17:02.366 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:17:32.367 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:00.402 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:18:02.368 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:18:32.369 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:00.403 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:19:02.370 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:19:32.371 [info] {"source":"oban","duration":763,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:00.404 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:20:02.372 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:20:32.373 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:00.405 [info] {"source":"oban","duration":230,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:21:02.374 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:21:32.375 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:00.406 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:22:02.376 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:22:32.377 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:00.407 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:23:02.378 [info] {"source":"oban","duration":973,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:23:32.380 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:00.408 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:24:02.381 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:24:32.382 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:00.409 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:25:02.383 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:25:32.384 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:00.410 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:26:02.385 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:26:32.386 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:00.411 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:27:02.387 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:27:32.388 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:00.412 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:28:02.389 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:28:32.390 [info] {"source":"oban","duration":1355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:00.413 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:29:02.392 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:29:32.393 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:00.415 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:30:02.394 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:30:32.395 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:00.415 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:31:02.396 [info] {"source":"oban","duration":634,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:31:32.397 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:00.416 [info] {"source":"oban","duration":128,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:32:02.398 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:32:32.399 [info] {"source":"oban","duration":1052,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:00.417 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:33:02.401 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:33:32.402 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:00.418 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:34:02.403 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:34:32.404 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:00.419 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:35:02.405 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:35:32.406 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:00.420 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:36:02.407 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:36:32.408 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:00.421 [info] {"source":"oban","duration":212,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:37:02.409 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:37:32.410 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:00.422 [info] {"source":"oban","duration":250,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:38:02.411 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:38:32.412 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:00.423 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:39:02.413 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:39:32.414 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:00.424 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:40:02.415 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:40:32.416 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:00.425 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:41:02.417 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:41:32.418 [info] {"source":"oban","duration":764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:00.426 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:42:02.419 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:42:32.420 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:00.427 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:43:02.421 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:43:32.422 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:00.428 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:44:02.423 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:44:32.424 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:00.429 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:45:02.425 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:45:32.426 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:00.430 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:46:02.427 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:46:32.428 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:00.431 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:47:02.429 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:47:32.429 [info] {"source":"oban","duration":477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:00.432 [info] {"source":"oban","duration":122,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:48:02.431 [info] {"source":"oban","duration":902,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:48:32.433 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:00.433 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:49:02.434 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:49:32.435 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:00.434 [info] {"source":"oban","duration":249,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:50:02.436 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:50:32.437 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:00.435 [info] {"source":"oban","duration":232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:51:02.438 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:51:32.439 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:00.436 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:52:02.440 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:52:32.441 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:00.437 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:53:02.442 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:53:32.443 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:00.438 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:54:02.444 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:54:32.445 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:00.439 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:55:02.446 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:55:32.447 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:00.440 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:56:02.448 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:56:32.449 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:00.441 [info] {"source":"oban","duration":238,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:57:02.450 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:57:32.451 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:00.442 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:58:02.452 [info] {"source":"oban","duration":750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:58:32.453 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:00.443 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 04:59:02.455 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 04:59:32.456 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:00.445 [info] {"source":"oban","duration":556,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:00:02.457 [info] {"source":"oban","duration":978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:00:32.459 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:00.445 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:01:02.460 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:01:32.461 [info] {"source":"oban","duration":589,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:00.446 [info] {"source":"oban","duration":222,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:02:02.462 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:02:32.463 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:00.447 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:03:02.464 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:03:32.465 [info] {"source":"oban","duration":824,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:00.448 [info] {"source":"oban","duration":238,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:04:02.466 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:04:32.467 [info] {"source":"oban","duration":929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:00.449 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:05:02.469 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:05:32.470 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:00.450 [info] {"source":"oban","duration":232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:06:02.471 [info] {"source":"oban","duration":858,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:06:32.473 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:00.451 [info] {"source":"oban","duration":236,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:07:02.474 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:07:32.475 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:00.452 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:08:02.476 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:08:32.477 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:00.453 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:09:02.483 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:09:32.485 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:00.454 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:10:02.486 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:10:32.487 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:00.455 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:11:02.488 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:11:32.489 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:00.456 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:12:02.490 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:12:32.491 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:00.457 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:13:02.492 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:13:32.493 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:00.458 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:14:02.494 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:14:32.495 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:00.459 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:15:02.496 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:15:32.497 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:00.460 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:16:02.498 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:16:32.499 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:00.461 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:17:02.500 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:17:32.501 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:00.462 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:18:02.501 [info] {"source":"oban","duration":541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:18:32.503 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:00.463 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:19:02.504 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:19:32.505 [info] {"source":"oban","duration":801,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:00.464 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:20:02.506 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:20:32.507 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:00.465 [info] {"source":"oban","duration":225,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:21:02.508 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:21:32.509 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:00.466 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:22:02.510 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:22:32.511 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:00.467 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:23:02.512 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:23:32.513 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:00.468 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:24:02.514 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:24:32.515 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:00.469 [info] {"source":"oban","duration":244,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:25:02.516 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:25:32.517 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:00.470 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:26:02.518 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:26:32.519 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:00.471 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:27:02.520 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:27:32.521 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:00.472 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:28:02.522 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:28:32.523 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:00.473 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:29:02.524 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:29:32.525 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:00.474 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:30:02.526 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:30:32.527 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:00.475 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:31:02.528 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:31:32.529 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:00.476 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:32:02.529 [info] {"source":"oban","duration":573,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:32:32.531 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:00.477 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:33:02.531 [info] {"source":"oban","duration":583,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:33:32.533 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:00.478 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:34:02.534 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:34:32.535 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:00.479 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:35:02.537 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:35:32.538 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:00.480 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:36:02.539 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:36:32.540 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:00.481 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:37:02.541 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:37:32.542 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:00.482 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:38:02.543 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:38:32.544 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:00.483 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:39:02.545 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:39:32.546 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:00.484 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:40:02.547 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:40:32.548 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:00.485 [info] {"source":"oban","duration":229,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:41:02.549 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:41:32.550 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:00.486 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:42:02.552 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:42:32.553 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:00.487 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:43:02.554 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:43:32.555 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:00.488 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:44:02.556 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:44:32.557 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:00.489 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:45:02.558 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:45:32.559 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:00.490 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:46:02.560 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:46:32.561 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:00.491 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:47:02.562 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:47:32.563 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:00.492 [info] {"source":"oban","duration":139,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:48:02.564 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:48:32.565 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:00.493 [info] {"source":"oban","duration":291,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:49:02.566 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:49:32.567 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:00.494 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:50:02.568 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:50:32.569 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:00.495 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:51:02.570 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:51:32.571 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:00.496 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:52:02.572 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:52:32.573 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:00.497 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:53:02.574 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:53:32.575 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:00.498 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:54:02.576 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:54:30.686 [debug] Tzdata polling for update. 05:54:30.977 [debug] Tzdata polling shows the loaded tz database is up to date. 05:54:32.577 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:00.499 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:55:02.578 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:55:32.579 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:00.500 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:56:02.580 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:56:32.581 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:00.501 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:57:02.582 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:57:32.583 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:00.502 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:58:02.584 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:58:32.585 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:00.503 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 05:59:02.586 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 05:59:32.587 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:00.504 [info] {"source":"oban","duration":239,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:00:02.588 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:00:32.589 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:00.505 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:01:02.590 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:01:32.591 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:00.506 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:02:02.592 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:02:32.593 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:00.507 [info] {"source":"oban","duration":130,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:03:02.594 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:03:32.595 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:00.508 [info] {"source":"oban","duration":133,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:04:02.596 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:04:32.597 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:00.509 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:05:02.598 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:05:32.599 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:00.510 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:06:02.600 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:06:32.601 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:00.511 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:07:02.602 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:07:32.603 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:00.512 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:08:02.604 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:08:32.605 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:00.513 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:09:02.606 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:09:32.607 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:00.514 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:10:02.608 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:10:32.609 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:00.515 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:11:02.610 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:11:32.611 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:00.516 [info] {"source":"oban","duration":236,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:12:02.612 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:12:32.613 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:00.517 [info] {"source":"oban","duration":229,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:13:02.614 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:13:32.615 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:00.518 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:14:02.616 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:14:32.617 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:00.519 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:15:02.618 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:15:32.619 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:00.520 [info] {"source":"oban","duration":224,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:16:02.620 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:16:32.621 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:00.521 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:17:02.622 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:17:32.623 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:00.522 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:18:02.624 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:18:32.625 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:00.523 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:19:02.626 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:19:32.627 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:00.524 [info] {"source":"oban","duration":142,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:20:02.628 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:20:32.628 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:00.525 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:21:02.629 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:21:32.631 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:00.526 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:22:02.632 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:22:32.633 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:00.527 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:23:02.635 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:23:32.636 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:00.528 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:24:02.637 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:24:32.638 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:00.529 [info] {"source":"oban","duration":244,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:25:02.639 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:25:32.640 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:00.530 [info] {"source":"oban","duration":217,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:26:02.641 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:26:32.642 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:00.531 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:27:02.643 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:27:32.644 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:00.532 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:28:02.645 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:28:32.646 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:00.533 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:29:02.647 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:29:32.648 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:00.534 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:30:02.649 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:30:32.650 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:00.535 [info] {"source":"oban","duration":239,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:31:02.651 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:31:32.652 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:00.536 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:32:02.653 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:32:32.654 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:00.537 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:33:02.655 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:33:32.656 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:00.538 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:34:02.657 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:34:32.658 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:00.539 [info] {"source":"oban","duration":153,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:35:02.659 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:35:32.660 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:00.540 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:36:02.661 [info] {"source":"oban","duration":656,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:36:32.662 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:00.541 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:37:02.662 [info] {"source":"oban","duration":566,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:37:32.663 [info] {"source":"oban","duration":495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:00.542 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:38:02.665 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:38:32.666 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:00.543 [info] {"source":"oban","duration":237,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:39:02.667 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:39:32.668 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:00.544 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:40:02.669 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:40:32.670 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:00.545 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:41:02.671 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:41:32.672 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:00.546 [info] {"source":"oban","duration":231,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:42:02.673 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:42:32.674 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:00.547 [info] {"source":"oban","duration":238,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:43:02.675 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:43:32.676 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:00.548 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:44:02.678 [info] {"source":"oban","duration":793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:44:32.679 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:00.549 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:45:02.680 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:45:32.681 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:00.550 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:46:02.682 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:46:32.683 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:00.551 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:47:02.684 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:47:32.685 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:00.552 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:48:02.686 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:48:32.687 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:00.553 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:49:02.688 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:49:32.689 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:00.554 [info] {"source":"oban","duration":141,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:50:02.690 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:50:32.691 [info] {"source":"oban","duration":761,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:00.555 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:51:02.692 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:51:32.693 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:00.556 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:52:02.694 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:52:32.696 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:00.557 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:53:02.698 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:53:32.704 [info] {"source":"oban","duration":5106,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:00.558 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:54:02.706 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:54:32.707 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:00.559 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:55:02.708 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:55:32.709 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:00.560 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:56:02.710 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:56:32.711 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:00.561 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:57:02.712 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:57:32.713 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:00.562 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:58:02.714 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:58:32.715 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:00.563 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 06:59:02.716 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 06:59:32.717 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:00.564 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:00:02.718 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:00:32.719 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:00.565 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:01:02.720 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:01:32.721 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:00.566 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:02:02.722 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:02:32.723 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:00.567 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:03:02.724 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:03:32.725 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:00.568 [info] {"source":"oban","duration":135,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:04:02.726 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:04:32.727 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:00.569 [info] {"source":"oban","duration":101,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:05:02.728 [info] {"source":"oban","duration":732,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:05:32.729 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:00.570 [info] {"source":"oban","duration":243,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:06:02.730 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:06:32.731 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:00.571 [info] {"source":"oban","duration":241,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:07:02.732 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:07:32.732 [info] {"source":"oban","duration":500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:00.572 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:08:02.734 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:08:32.735 [info] {"source":"oban","duration":1177,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:00.573 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:09:02.737 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:09:32.738 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:00.574 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:10:02.739 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:10:32.740 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:00.575 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:11:02.741 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:11:32.742 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:00.576 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:12:02.743 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:12:32.744 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:00.577 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:13:02.745 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:13:32.746 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:00.578 [info] {"source":"oban","duration":225,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:14:02.747 [info] {"source":"oban","duration":662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:14:32.748 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:00.579 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:15:02.749 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:15:32.750 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:00.580 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:16:02.751 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:16:32.752 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:00.581 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:17:02.753 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:17:32.754 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:00.582 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:18:02.755 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:18:32.756 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:00.583 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:19:02.757 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:19:32.758 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:00.584 [info] {"source":"oban","duration":151,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:20:02.759 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:20:32.760 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:00.585 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:21:02.761 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:21:32.762 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:00.586 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:22:02.763 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:22:32.764 [info] {"source":"oban","duration":615,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:00.587 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:23:02.764 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:23:32.766 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:00.588 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:24:02.767 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:24:32.768 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:00.589 [info] {"source":"oban","duration":278,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:25:02.770 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:25:32.771 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:00.590 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:26:02.772 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:26:32.773 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:00.591 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:27:02.774 [info] {"source":"oban","duration":1232,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:27:32.776 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:00.592 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:28:02.777 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:28:32.778 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:00.593 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:29:02.779 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:29:32.780 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:00.594 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:30:02.781 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:30:32.782 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:00.595 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:31:02.783 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:31:32.784 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:00.596 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:32:02.785 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:32:32.786 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:00.597 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:33:02.787 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:33:32.788 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:00.598 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:34:02.789 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:34:32.790 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:00.599 [info] {"source":"oban","duration":158,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:35:02.791 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:35:32.792 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:00.600 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:36:02.793 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:36:32.794 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:00.601 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:37:02.795 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:37:32.796 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:00.602 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:38:02.797 [info] {"source":"oban","duration":620,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:38:32.798 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:00.603 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:39:02.799 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:39:32.800 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:00.604 [info] {"source":"oban","duration":243,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:40:02.801 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:40:32.802 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:00.605 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:41:02.803 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:41:32.804 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:00.606 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:42:02.805 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:42:32.806 [info] {"source":"oban","duration":827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:00.607 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:43:02.808 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:43:32.809 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:00.608 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:44:02.810 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:44:32.811 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:00.609 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:45:02.812 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:45:32.813 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:00.610 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:46:02.814 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:46:32.815 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:00.611 [info] {"source":"oban","duration":247,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:47:02.816 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:47:32.817 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:00.612 [info] {"source":"oban","duration":345,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:48:02.818 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:48:32.819 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:00.613 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:49:02.820 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:49:32.821 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:00.614 [info] {"source":"oban","duration":179,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:50:02.822 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:50:32.823 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:00.615 [info] {"source":"oban","duration":95,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:51:02.824 [info] {"source":"oban","duration":829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:51:32.826 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:00.616 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:52:02.828 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:52:32.829 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:00.617 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:53:02.830 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:53:32.831 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:00.618 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:54:02.831 [info] {"source":"oban","duration":501,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:54:32.833 [info] {"source":"oban","duration":1034,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:00.619 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:55:02.835 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:55:32.836 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:00.620 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:56:02.837 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:56:32.838 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:00.621 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:57:02.839 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:57:32.840 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:00.622 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:58:02.841 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:58:32.842 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:00.623 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 07:59:02.843 [info] {"source":"oban","duration":758,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 07:59:32.844 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:00.624 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:00:02.845 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:00:32.846 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:00.625 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:01:02.847 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:01:32.853 [info] {"source":"oban","duration":6193,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:00.626 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:02:02.855 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:02:32.856 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:00.627 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:03:02.857 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:03:32.858 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:00.628 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:04:02.859 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:04:32.860 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:00.629 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:05:02.861 [info] {"source":"oban","duration":814,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:05:32.862 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:00.630 [info] {"source":"oban","duration":115,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:06:02.863 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:06:32.864 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:00.631 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:07:02.865 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:07:32.866 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:00.632 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:08:02.867 [info] {"source":"oban","duration":647,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:08:32.868 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:00.633 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:09:02.869 [info] {"source":"oban","duration":585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:09:32.870 [info] {"source":"oban","duration":591,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:00.634 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:10:02.870 [info] {"source":"oban","duration":506,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:10:32.872 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:00.635 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:11:02.873 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:11:32.874 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:00.636 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:12:02.875 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:12:32.876 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:00.637 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:13:02.877 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:13:32.878 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:00.638 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:14:02.879 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:14:32.880 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:00.639 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:15:02.881 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:15:32.882 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:00.640 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:16:02.883 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:16:32.884 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:00.641 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:17:02.885 [info] {"source":"oban","duration":822,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:17:32.886 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:00.642 [info] {"source":"oban","duration":228,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:18:02.887 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:18:32.888 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:00.643 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:19:02.889 [info] {"source":"oban","duration":779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:19:32.890 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:00.644 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:20:02.891 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:20:32.892 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:00.645 [info] {"source":"oban","duration":152,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:21:02.893 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:21:32.894 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:00.646 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:22:02.895 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:22:32.896 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:00.647 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:23:02.897 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:23:32.898 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:00.648 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:24:02.899 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:24:32.899 [info] {"source":"oban","duration":567,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:00.649 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:25:02.900 [info] {"source":"oban","duration":539,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:25:32.902 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:00.650 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:26:02.903 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:26:32.904 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:00.651 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:27:02.906 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:27:32.907 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:00.652 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:28:02.908 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:28:32.909 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:00.653 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:29:02.910 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:29:32.911 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:00.654 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:30:02.912 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:30:32.913 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:00.655 [info] {"source":"oban","duration":247,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:31:02.914 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:31:32.915 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:00.656 [info] {"source":"oban","duration":320,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:32:02.916 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:32:32.917 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:00.657 [info] {"source":"oban","duration":235,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:33:02.918 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:33:32.919 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:00.659 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:34:02.920 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:34:32.921 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:00.660 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:35:02.922 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:35:32.923 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:00.661 [info] {"source":"oban","duration":130,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:36:02.924 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:36:32.925 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:00.662 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:37:02.926 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:37:32.927 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:00.663 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:38:02.928 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:38:32.929 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:00.664 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:39:02.930 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:39:32.931 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:00.665 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:40:02.932 [info] {"source":"oban","duration":644,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:40:32.933 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:00.666 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:41:02.934 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:41:32.935 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:00.667 [info] {"source":"oban","duration":240,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:42:02.936 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:42:32.937 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:00.668 [info] {"source":"oban","duration":239,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:43:02.938 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:43:32.939 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:00.669 [info] {"source":"oban","duration":244,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:44:02.941 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:44:32.942 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:00.670 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:45:02.943 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:45:32.944 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:00.671 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:46:02.946 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:46:32.947 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:00.672 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:47:02.948 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:47:32.949 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:00.673 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:48:02.950 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:48:32.951 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:00.674 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:49:02.952 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:49:32.953 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:00.675 [info] {"source":"oban","duration":168,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:50:02.954 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:50:32.955 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:00.676 [info] {"source":"oban","duration":138,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:51:02.956 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:51:32.957 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:00.677 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:52:02.958 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:52:32.959 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:00.678 [info] {"source":"oban","duration":209,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:53:02.960 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:53:32.961 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:00.679 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:54:02.962 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:54:32.962 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:00.680 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:55:02.963 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:55:32.965 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:00.681 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:56:02.966 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:56:32.967 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:00.682 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:57:02.968 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:57:32.969 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:00.683 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:58:02.970 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:58:32.971 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:00.684 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 08:59:02.972 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 08:59:32.973 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:00.685 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:00:02.974 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:00:32.975 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:00.686 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:01:02.976 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:01:32.977 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:00.687 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:02:02.978 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:02:32.979 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:00.688 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:03:02.980 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:03:32.981 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:00.689 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:04:02.982 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:04:32.983 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:00.690 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:05:02.984 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:05:32.985 [info] {"source":"oban","duration":816,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:00.691 [info] {"source":"oban","duration":170,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:06:02.986 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:06:32.987 [info] {"source":"oban","duration":773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:00.692 [info] {"source":"oban","duration":217,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:07:02.988 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:07:32.989 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:00.694 [info] {"source":"oban","duration":951,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:08:02.990 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:08:32.991 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:00.695 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:09:02.992 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:09:32.993 [info] {"source":"oban","duration":657,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:00.696 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:10:02.994 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:10:32.994 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:00.697 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:11:02.995 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:11:32.997 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:00.698 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:12:02.998 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:12:32.999 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:00.699 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:13:03.000 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:13:33.001 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:00.700 [info] {"source":"oban","duration":236,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:14:03.002 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:14:33.003 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:00.701 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:15:03.004 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:15:33.005 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:00.702 [info] {"source":"oban","duration":227,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:16:03.006 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:16:33.007 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:00.703 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:17:03.008 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:17:33.009 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:00.704 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:18:03.010 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:18:33.011 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:00.705 [info] {"source":"oban","duration":168,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:19:03.012 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:19:33.013 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:00.706 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:20:03.014 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:20:33.015 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:00.707 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:21:03.016 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:21:33.017 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:00.708 [info] {"source":"oban","duration":165,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:22:03.018 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:22:33.019 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:00.709 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:23:03.020 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:23:33.021 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:00.710 [info] {"source":"oban","duration":237,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:24:03.022 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:24:33.023 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:00.711 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:25:03.024 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:25:33.025 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:00.712 [info] {"source":"oban","duration":230,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:26:03.026 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:26:33.026 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:00.713 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:27:03.028 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:27:33.029 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:00.714 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:28:03.030 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:28:33.031 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:00.715 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:29:03.032 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:29:33.033 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:00.716 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:30:03.034 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:30:33.035 [info] {"source":"oban","duration":783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:00.717 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:31:03.036 [info] {"source":"oban","duration":776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:31:33.037 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:00.718 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:32:03.038 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:32:33.039 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:00.719 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:33:03.040 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:33:33.041 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:00.720 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:34:03.042 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:34:33.043 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:00.721 [info] {"source":"oban","duration":222,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:35:03.044 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:35:33.045 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:00.722 [info] {"source":"oban","duration":143,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:36:03.046 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:36:33.047 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:00.723 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:37:03.048 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:37:33.049 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:00.724 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:38:03.050 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:38:33.051 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:00.725 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:39:03.052 [info] {"source":"oban","duration":766,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:39:33.053 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:00.726 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:40:03.054 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:40:33.055 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:00.727 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:41:03.056 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:41:33.057 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:00.728 [info] {"source":"oban","duration":221,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:42:03.058 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:42:33.059 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:00.731 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:43:03.060 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:43:33.061 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:00.731 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:44:03.062 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:44:33.063 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:00.732 [info] {"source":"oban","duration":225,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:45:03.064 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:45:33.065 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:00.733 [info] {"source":"oban","duration":177,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:46:03.066 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:46:33.068 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:00.734 [info] {"source":"oban","duration":211,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:47:03.069 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:47:33.070 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:00.735 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:48:03.071 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:48:33.072 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:00.736 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:49:03.073 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:49:33.074 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:00.737 [info] {"source":"oban","duration":218,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:50:03.075 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:50:33.077 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:00.738 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:51:03.078 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:51:33.079 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:00.739 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:52:03.080 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:52:33.081 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:00.740 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:53:03.082 [info] {"source":"oban","duration":823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:53:33.083 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:00.741 [info] {"source":"oban","duration":215,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:54:03.084 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:54:33.085 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:00.742 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:55:03.086 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:55:33.087 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:00.743 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:56:03.088 [info] {"source":"oban","duration":854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:56:33.090 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:00.744 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:57:03.091 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:33.092 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:57:41.066 [info] GET /sources/5/media/161137 09:57:41.067 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "161137", "prevent_download" => "true", "source_id" => "5"} Pipelines: [:browser] 09:57:41.068 [debug] QUERY OK source="media_items" db=0.2ms idle=902.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" = ?) [161137] 09:57:41.078 [debug] QUERY OK source="tasks" db=0.2ms idle=588.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [161137] 09:57:41.078 [debug] QUERY OK source="sources" db=0.2ms idle=588.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 09:57:41.079 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=588.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 (?,?)) [4799, 4814] 09:57:41.080 [debug] QUERY OK source="settings" db=0.1ms idle=590.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:57:41.081 [debug] QUERY OK source="settings" db=0.1ms idle=12.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:57:41.081 [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 [] 09:57:41.085 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 09:57:41.090 [info] Sent 200 in 23ms 09:58:00.745 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:58:03.093 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:58:33.094 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:00.746 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 09:59:03.095 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 09:59:03.900 [info] GET /sources/5/media/161137/force_download 09:59:03.901 [debug] QUERY OK source="settings" db=0.1ms idle=1410.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:59:03.901 [debug] QUERY OK source="settings" db=0.1ms idle=1411.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 09:59:03.901 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 09:59:03.902 [error] #PID<0.673164.0> running PinchflatWeb.Endpoint (connection #PID<0.673163.0>, stream id 1) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /sources/5/media/161137/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/161137/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673163.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/161137/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49676}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9ed9e3665e8bb5b3-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.25", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.25" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.673164.0>, params: %{}, path_info: ["sources", "5", "media", "161137", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9ed9e3665e8bb5b3-CMH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 162.159.115.25"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "162.159.115.25"} ], request_path: "/sources/5/media/161137/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKcV-o6v15E_mPQAQw7h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673163.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/161137/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49676}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9ed9e3665e8bb5b3-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.25", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.25" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/161137/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673163.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/161137/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 49676}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9ed9e3665e8bb5b3-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.25", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.25" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, coo (truncated) 09:59:33.096 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:00.747 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:00:03.097 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:00:33.098 [info] {"source":"oban","duration":1192,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:00.748 [info] {"source":"oban","duration":207,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:01:03.100 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:01:33.101 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:00.749 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:02:03.102 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:02:11.983 [info] GET /sources/5/media/156909/edit 10:02:11.984 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "156909", "source_id" => "5"} Pipelines: [:browser] 10:02:11.985 [debug] QUERY OK source="media_items" db=0.3ms idle=1494.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" = ?) [156909] 10:02:11.985 [debug] QUERY OK source="settings" db=0.1ms idle=1495.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:02:11.986 [debug] QUERY OK source="settings" db=0.0ms idle=1495.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:02:11.986 [debug] QUERY OK source="settings" db=0.1ms idle=1496.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:02:11.991 [info] Sent 200 in 7ms 10:02:33.103 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:00.750 [info] {"source":"oban","duration":232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:03:03.104 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:32.097 [notice] :alarm_handler: {:clear, :system_memory_high_watermark} 10:03:33.105 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:03:53.118 [info] GET /sources/5 10:03:53.118 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "5"} Pipelines: [:browser] 10:03:53.120 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=624.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 10:03:53.121 [debug] QUERY OK source="media_profiles" db=0.6ms idle=625.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 10:03:53.127 [debug] QUERY OK source="tasks" db=5.7ms idle=626.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [5, "executing", "available", "scheduled", "retryable"] 10:03:53.127 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=632.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [4850] 10:03:53.128 [debug] QUERY OK source="settings" db=0.1ms idle=524.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:03:53.129 [debug] QUERY OK source="settings" db=0.1ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:03:53.129 [debug] QUERY OK source="settings" db=0.1ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:03:53.144 [debug] QUERY OK source="sources" db=0.2ms 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" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 10:03:53.334 [debug] QUERY OK source="media_items" db=188.6ms idle=18.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [5] 10:03:53.339 [debug] QUERY OK source="media_items" db=4.4ms idle=206.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [5, 10, 0] 10:03:53.340 [debug] QUERY OK source="sources" db=0.1ms idle=210.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 10:03:53.345 [debug] QUERY OK source="media_items" db=5.2ms idle=210.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [5] 10:03:53.349 [debug] QUERY OK source="media_items" db=2.7ms idle=201.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 ? [5, 10, 0] 10:03:53.350 [debug] QUERY OK source="sources" db=0.1ms idle=15.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 10:03:53.352 [debug] QUERY OK source="media_items" db=1.3ms idle=11.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [5] 10:03:53.357 [debug] QUERY OK source="media_items" db=4.1ms idle=12.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [5, 10, 0] 10:03:53.359 [info] Sent 200 in 241ms 10:04:00.751 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:04:03.106 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:04:32.102 [notice] :alarm_handler: {:set, {:system_memory_high_watermark, []}} 10:04:33.107 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:00.752 [info] {"source":"oban","duration":134,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:05:03.108 [info] {"source":"oban","duration":802,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:05:33.109 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:00.753 [info] {"source":"oban","duration":121,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:06:03.110 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:06:33.111 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:00.754 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:07:03.112 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:07:16.303 [info] GET /sources/5/media/162565 10:07:16.303 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "162565", "source_id" => "5"} Pipelines: [:browser] 10:07:16.304 [debug] QUERY OK source="media_items" db=0.2ms idle=1803.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" = ?) [162565] 10:07:16.304 [debug] QUERY OK source="tasks" db=0.1ms idle=1803.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" [162565] 10:07:16.304 [debug] QUERY OK source="sources" db=0.3ms idle=1803.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 10:07:16.305 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1494.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [4828, 4843] 10:07:16.305 [debug] QUERY OK source="settings" db=0.1ms idle=493.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:07:16.306 [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 [] 10:07:16.306 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:07:16.307 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 10:07:16.309 [info] Sent 200 in 6ms 10:07:31.757 [info] GET /sources/5/media/160147/force_download 10:07:31.757 [debug] QUERY OK source="settings" db=0.1ms idle=930.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:07:31.758 [debug] QUERY OK source="settings" db=0.1ms idle=257.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:07:31.758 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:07:31.758 [error] #PID<0.673221.0> running PinchflatWeb.Endpoint (connection #PID<0.673220.0>, stream id 1) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /sources/5/media/160147/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/160147/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673220.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/160147/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 36174}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9ed9efcc69e11330-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.236", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.236" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.673221.0>, params: %{}, path_info: ["sources", "5", "media", "160147", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9ed9efcc69e11330-CPH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 172.68.243.236"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.68.243.236"} ], request_path: "/sources/5/media/160147/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKcWcM1HYa-WC3sAPKzi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673220.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/160147/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 36174}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9ed9efcc69e11330-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.236", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.236" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/160147/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673220.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/160147/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 36174}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9ed9efcc69e11330-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.236", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.236" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, coo (truncated) 10:07:33.113 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:00.755 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:08:03.114 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:08:33.115 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:00.756 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:09:03.116 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:33.117 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:09:58.492 [info] GET /sitemap.xml 10:09:58.492 [debug] QUERY OK source="settings" db=0.2ms idle=1991.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:09:58.492 [debug] QUERY OK source="settings" db=0.1ms idle=1992.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:09:58.493 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 10:09:58.493 [error] #PID<0.673237.0> running PinchflatWeb.Endpoint (connection #PID<0.673236.0>, stream id 1) terminated Server: content.andreas-larsen.dk: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.673236.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34370}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9ed9f36188d24af4-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.236", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.236" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.673237.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9ed9f36188d24af4-CPH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 172.68.243.236"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.68.243.236"} ], request_path: "/sitemap.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKcWkvdcK8f_pWQAPK2i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673236.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34370}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9ed9f36188d24af4-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.236", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.236" }, method: "GET", path_info: :undefined, body_length: 0, 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.673236.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 34370}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9ed9f36188d24af4-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.236", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.236" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.673237.0>, params: %{}, path_info: ["sitemap"], path_params: %{}, (truncated) 10:09:58.768 [info] GET /sources/5/media/161137/edit 10:09:58.768 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "161137", "source_id" => "5"} Pipelines: [:browser] 10:09:58.768 [debug] QUERY OK source="media_items" db=0.2ms idle=779.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" = ?) [161137] 10:09:58.769 [debug] QUERY OK source="settings" db=0.1ms idle=276.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:09:58.769 [debug] QUERY OK source="settings" db=0.2ms idle=276.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:09:58.770 [debug] QUERY OK source="settings" db=0.1ms idle=269.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 10:09:58.771 [info] Sent 200 in 3ms 10:10:00.757 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:10:03.118 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:10:33.118 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:00.758 [info] {"source":"oban","duration":214,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:11:03.120 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:11:33.121 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:00.759 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:12:03.122 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:12:33.123 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:00.760 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:13:03.124 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:13:33.125 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:00.761 [info] {"source":"oban","duration":238,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:14:03.126 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:14:33.127 [info] {"source":"oban","duration":756,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:00.762 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:15:03.128 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:15:33.129 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:00.763 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:16:03.130 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:16:33.131 [info] {"source":"oban","duration":780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:00.764 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:17:03.132 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:17:33.133 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:00.765 [info] {"source":"oban","duration":224,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:18:03.134 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:18:33.135 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:00.766 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:19:03.136 [info] {"source":"oban","duration":836,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:19:33.138 [info] {"source":"oban","duration":998,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:00.767 [info] {"source":"oban","duration":166,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:20:03.140 [info] {"source":"oban","duration":747,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:20:33.141 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:00.768 [info] {"source":"oban","duration":239,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:21:03.142 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:21:33.143 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:00.769 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:22:03.144 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:22:33.145 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:00.770 [info] {"source":"oban","duration":238,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:23:03.146 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:23:33.147 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:00.771 [info] {"source":"oban","duration":240,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:24:03.148 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:24:33.149 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:00.772 [info] {"source":"oban","duration":229,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:25:03.150 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:25:33.150 [info] {"source":"oban","duration":619,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:00.773 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:26:03.152 [info] {"source":"oban","duration":660,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:26:33.153 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:00.774 [info] {"source":"oban","duration":217,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:27:03.154 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:27:33.155 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:00.775 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:28:03.156 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:28:33.157 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:00.776 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:29:03.158 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:29:33.159 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:00.777 [info] {"source":"oban","duration":290,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:30:03.160 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:30:33.161 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:00.778 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:31:03.162 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:31:33.164 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:00.779 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:32:03.165 [info] {"source":"oban","duration":778,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:32:33.166 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:00.780 [info] {"source":"oban","duration":228,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:33:03.167 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:33:33.168 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:00.781 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:34:03.169 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:34:33.170 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:00.782 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:35:03.171 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:35:33.172 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:36:00.783 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:36:03.174 [info] {"source":"oban","duration":1731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 10:36:33.175 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:00.784 [info] {"source":"oban","duration":229,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:37:03.176 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:37:33.178 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:00.785 [info] {"source":"oban","duration":241,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:38:03.179 [info] {"source":"oban","duration":828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:38:33.180 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:00.786 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:39:03.181 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:39:33.182 [info] {"source":"oban","duration":695,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:00.787 [info] {"source":"oban","duration":338,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:40:03.183 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:40:33.184 [info] {"source":"oban","duration":653,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:00.788 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:41:03.184 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:41:33.186 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:00.789 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:42:03.187 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:42:33.188 [info] {"source":"oban","duration":765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:00.790 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:43:03.189 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:43:33.190 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:00.791 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:44:03.191 [info] {"source":"oban","duration":739,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:44:33.192 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:00.792 [info] {"source":"oban","duration":230,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:45:03.193 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:45:33.194 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:00.793 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:46:03.195 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:46:33.196 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:00.794 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:47:03.197 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:47:33.198 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:00.795 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:48:03.199 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:48:33.200 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:00.796 [info] {"source":"oban","duration":229,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:49:03.201 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:49:33.202 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:00.797 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:50:03.203 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:50:33.204 [info] {"source":"oban","duration":710,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:00.798 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:51:03.205 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:51:33.206 [info] {"source":"oban","duration":1154,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:00.804 [info] {"source":"oban","duration":595,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:52:03.208 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:52:33.209 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:00.805 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:53:03.210 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:53:33.211 [info] {"source":"oban","duration":745,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:00.806 [info] {"source":"oban","duration":250,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:54:03.212 [info] {"source":"oban","duration":789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:54:33.214 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:00.807 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:55:03.215 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:55:33.216 [info] {"source":"oban","duration":749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:00.808 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:56:03.217 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:56:33.218 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:00.809 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:57:03.219 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:57:33.220 [info] {"source":"oban","duration":855,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:00.810 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:58:03.222 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:58:33.223 [info] {"source":"oban","duration":803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:00.811 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 10:59:03.225 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 10:59:33.226 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:00.812 [info] {"source":"oban","duration":236,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:00:03.227 [info] {"source":"oban","duration":795,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:00:33.228 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:00.813 [info] {"source":"oban","duration":176,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:01:03.229 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:01:33.230 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:00.814 [info] {"source":"oban","duration":237,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:02:03.231 [info] {"source":"oban","duration":781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:02:33.232 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:00.815 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:03:03.233 [info] {"source":"oban","duration":805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:03:33.234 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:00.816 [info] {"source":"oban","duration":210,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:04:03.235 [info] {"source":"oban","duration":714,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:04:33.236 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:00.817 [info] {"source":"oban","duration":120,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:05:03.237 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:05:33.238 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:00.818 [info] {"source":"oban","duration":231,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:06:03.239 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:06:33.240 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:00.819 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:07:03.241 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:07:33.242 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:00.820 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:08:03.243 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:08:33.244 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:00.821 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:09:03.245 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:09:33.246 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:00.822 [info] {"source":"oban","duration":208,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:10:03.247 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:10:33.248 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:00.823 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:11:03.249 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:11:33.249 [info] {"source":"oban","duration":543,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:00.824 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:12:03.251 [info] {"source":"oban","duration":611,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:12:33.251 [info] {"source":"oban","duration":546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:00.825 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:13:03.253 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:33.254 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:13:55.340 [info] {"args":{"id":8},"id":4784,"meta":{},"system_time":1776417235340327532,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:13:55.340 [debug] QUERY OK source="sources" db=0.2ms idle=736.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:13:55.341 [debug] QUERY OK source="settings" db=0.1ms idle=736.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:55.358 [debug] QUERY OK source="media_items" db=16.4ms idle=737.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [8] 11:13:55.359 [debug] QUERY OK source="media_items" db=1.3ms idle=24.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [8] 11:13:55.359 [debug] QUERY OK source="media_profiles" db=0.1ms 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] 11:13:55.360 [debug] QUERY OK source="settings" db=0.1ms idle=19.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:55.360 [debug] QUERY OK source="settings" db=0.0ms idle=19.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:55.362 [debug] QUERY OK source="media_items" db=1.2ms idle=3.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."source_id" = ?) ORDER BY m0."uploaded_at" DESC LIMIT 50 OFFSET 20 [8] 11:13:55.365 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 11:13:55.365 [debug] Current batch of media processed. Will check again in 1000ms 11:13:55.365 [debug] QUERY OK source="settings" db=0.1ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:13:55.365 [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 [] 11:13:55.366 [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 [] 11:13:55.366 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@TheWildlifeHomestead --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/TheWildlifeHomestead/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/82/9c/829c665d8f77155a9d3116e63fa335a3ee1ee84d1d0e8378ba8b3139360f7fbb.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/ef/8e/ef8e58e5380dc2dd52a5685bb44c62a51a014b8e3b343bd856af7101208c95c0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 11:13:56.366 [debug] Current batch of media processed. Will check again in 1000ms 11:13:57.367 [debug] Current batch of media processed. Will check again in 1000ms 11:13:58.368 [debug] Current batch of media processed. Will check again in 1000ms 11:13:59.369 [debug] Current batch of media processed. Will check again in 1000ms 11:14:00.370 [debug] Current batch of media processed. Will check again in 1000ms 11:14:00.826 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:14:01.371 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I bought a homestead three years ago with the goal of managing the land to attract as many animals as possible. This is what happened in year three on The Wildlife Homestead.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, The Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\nTable of Contents\n0:00 - Recap\n3:16 - Winter\n21:10 - Spring\n40:23 - Summer\n55:17 - Fall", "duration" => 4145, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e122200 - THREE YEARS of building a wildlife paradise on my land.mkv", "id" => "j78UZoF0yQI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=j78UZoF0yQI", "playlist_index" => 1, "timestamp" => 1766412900, "title" => "THREE YEARS of building a wildlife paradise on my land", "upload_date" => "20251222"} 11:14:01.372 [debug] QUERY OK source="sources" db=0.2ms idle=767.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:01.372 [debug] QUERY OK source="sources" db=0.2ms idle=768.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:01.373 [debug] QUERY OK source="media_items" db=0.3ms idle=768.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-22 14:15:00Z], 8] 11:14:01.406 [debug] QUERY OK source="media_items" db=32.0ms idle=547.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I bought a homestead three years ago with the goal of managing the land to attract as many animals as possible. This is what happened in year three on The Wildlife Homestead.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, The Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\nTable of Contents\n0:00 - Recap\n3:16 - Winter\n21:10 - Spring\n40:23 - Summer\n55:17 - Fall", "THREE YEARS of building a wildlife paradise on my land", "ad3f783a-fa38-4241-b082-47f45401e016", 8, [], 4145, false, "j78UZoF0yQI", "https://www.youtube.com/watch?v=j78UZoF0yQI", 1, "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e122200 - THREE YEARS of building a wildlife paradise on my land.mkv", false, false, false, 98, ~U[2025-12-22 14:15:00Z], ~U[2026-04-17 09:14:01Z], ~U[2026-04-17 09:14:01Z], "I bought a homestead three years ago with the goal of managing the land to attract as many animals as possible. This is what happened in year three on The Wildlife Homestead.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, The Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\nTable of Contents\n0:00 - Recap\n3:16 - Winter\n21:10 - Spring\n40:23 - Summer\n55:17 - Fall", "THREE YEARS of building a wildlife paradise on my land", 8, 4145, false, "j78UZoF0yQI", "https://www.youtube.com/watch?v=j78UZoF0yQI", "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e122200 - THREE YEARS of building a wildlife paradise on my land.mkv", false, ~U[2025-12-22 14:15:00Z]] 11:14:01.407 [debug] QUERY OK source="sources" db=0.5ms idle=65.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:01.408 [debug] QUERY OK source="media_profiles" db=0.3ms idle=35.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:01.408 [debug] QUERY OK source="media_items" db=0.2ms idle=35.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 [112862] 11:14:01.408 [debug] Current batch of media processed. Will check again in 1000ms 11:14:02.409 [debug] Current batch of media processed. Will check again in 1000ms 11:14:03.255 [info] {"source":"oban","duration":896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:03.410 [debug] Current batch of media processed. Will check again in 1000ms 11:14:04.411 [debug] Current batch of media processed. Will check again in 1000ms 11:14:05.412 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "8 months ago, I built different wildlife nest and den boxes for over 20 species. This update shares how well each box did at attracting wildlife, as well as the successes and failures from the season.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, The Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "duration" => 1390, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e112900 - I Built 50 Boxes for Wildlife - here's what happened.mkv", "id" => "rtNZSblJYoE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rtNZSblJYoE", "playlist_index" => 2, "timestamp" => 1764430238, "title" => "I Built 50 Boxes for Wildlife - here's what happened", "upload_date" => "20251129"} 11:14:05.413 [debug] QUERY OK source="sources" db=0.2ms idle=808.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:05.413 [debug] QUERY OK source="sources" db=0.1ms idle=809.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:05.414 [debug] QUERY OK source="media_items" db=0.4ms idle=809.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-29 15:30:38Z], 8] 11:14:05.421 [debug] QUERY OK source="media_items" db=6.1ms idle=810.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["8 months ago, I built different wildlife nest and den boxes for over 20 species. This update shares how well each box did at attracting wildlife, as well as the successes and failures from the season.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, The Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Built 50 Boxes for Wildlife - here's what happened", "90b3b4bb-3ac5-4ca2-83c7-73a872beede1", 8, [], 1390, false, "rtNZSblJYoE", "https://www.youtube.com/watch?v=rtNZSblJYoE", 2, "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e112900 - I Built 50 Boxes for Wildlife - here's what happened.mkv", false, false, false, 98, ~U[2025-11-29 15:30:38Z], ~U[2026-04-17 09:14:05Z], ~U[2026-04-17 09:14:05Z], "8 months ago, I built different wildlife nest and den boxes for over 20 species. This update shares how well each box did at attracting wildlife, as well as the successes and failures from the season.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, The Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Built 50 Boxes for Wildlife - here's what happened", 8, 1390, false, "rtNZSblJYoE", "https://www.youtube.com/watch?v=rtNZSblJYoE", "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e112900 - I Built 50 Boxes for Wildlife - here's what happened.mkv", false, ~U[2025-11-29 15:30:38Z]] 11:14:05.422 [debug] QUERY OK source="sources" db=0.1ms idle=75.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:05.422 [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] 11:14:05.422 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [103947] 11:14:05.423 [debug] Current batch of media processed. Will check again in 1000ms 11:14:06.423 [debug] Current batch of media processed. Will check again in 1000ms 11:14:07.424 [debug] Current batch of media processed. Will check again in 1000ms 11:14:08.425 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Nature is filled with surprises. This year I was caught off guard by something I had never seen before... baby Red Foxes with white legs!\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "duration" => 749, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e081400 - The Life of Baby Red Foxes on The Wildlife Homestead.mkv", "id" => "THB6BvsPn9E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=THB6BvsPn9E", "playlist_index" => 3, "timestamp" => 1755178253, "title" => "The Life of Baby Red Foxes on The Wildlife Homestead", "upload_date" => "20250814"} 11:14:08.426 [debug] QUERY OK source="sources" db=0.2ms idle=1821.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:08.426 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1822.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:08.427 [debug] QUERY OK source="media_items" db=0.5ms idle=1822.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-14 13:30:53Z], 8] 11:14:08.431 [debug] QUERY OK source="media_items" db=3.3ms idle=1078.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Nature is filled with surprises. This year I was caught off guard by something I had never seen before... baby Red Foxes with white legs!\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "The Life of Baby Red Foxes on The Wildlife Homestead", "8eee8c4c-2890-4dc1-aa64-74ab784b1d75", 8, [], 749, false, "THB6BvsPn9E", "https://www.youtube.com/watch?v=THB6BvsPn9E", 3, "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e081400 - The Life of Baby Red Foxes on The Wildlife Homestead.mkv", false, false, false, 98, ~U[2025-08-14 13:30:53Z], ~U[2026-04-17 09:14:08Z], ~U[2026-04-17 09:14:08Z], "Nature is filled with surprises. This year I was caught off guard by something I had never seen before... baby Red Foxes with white legs!\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "The Life of Baby Red Foxes on The Wildlife Homestead", 8, 749, false, "THB6BvsPn9E", "https://www.youtube.com/watch?v=THB6BvsPn9E", "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e081400 - The Life of Baby Red Foxes on The Wildlife Homestead.mkv", false, ~U[2025-08-14 13:30:53Z]] 11:14:08.432 [debug] QUERY OK source="sources" db=0.2ms idle=81.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:08.432 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:08.433 [debug] QUERY OK source="media_items" db=0.3ms 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 [62430] 11:14:08.433 [debug] Current batch of media processed. Will check again in 1000ms 11:14:09.434 [debug] Current batch of media processed. Will check again in 1000ms 11:14:10.435 [debug] Current batch of media processed. Will check again in 1000ms 11:14:11.436 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Year three begins on The Wildlife Homestead. I build wildlife boxes for over 20 species, from owls, to songbirds, to squirrels. \n\nUPDATE to this video: https://youtu.be/rtNZSblJYoE\n\nFisher Den Box Plans: https://conservancy.umn.edu/items/9b3cff5f-1523-417a-8f7b-44f29ef254e1\nChimney Swift Tower Book: https://geni.us/ChimneySwift\nCliff Swallow Artificial Nests: https://www.swallowconservation.org/\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "duration" => 1094, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e052500 - I Built Wildlife Boxes for 20+ Species!.mkv", "id" => "p4Gn7eR4GwA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=p4Gn7eR4GwA", "playlist_index" => 4, "timestamp" => 1748179800, "title" => "I Built Wildlife Boxes for 20+ Species!", "upload_date" => "20250525"} 11:14:11.437 [debug] QUERY OK source="sources" db=0.3ms idle=1832.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:11.438 [debug] QUERY OK source="sources" db=0.6ms idle=1833.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:11.440 [debug] QUERY OK source="media_items" db=1.1ms idle=1834.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-25 13:30:00Z], 8] 11:14:11.443 [debug] QUERY OK source="media_items" db=2.4ms idle=1084.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Year three begins on The Wildlife Homestead. I build wildlife boxes for over 20 species, from owls, to songbirds, to squirrels. \n\nUPDATE to this video: https://youtu.be/rtNZSblJYoE\n\nFisher Den Box Plans: https://conservancy.umn.edu/items/9b3cff5f-1523-417a-8f7b-44f29ef254e1\nChimney Swift Tower Book: https://geni.us/ChimneySwift\nCliff Swallow Artificial Nests: https://www.swallowconservation.org/\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Built Wildlife Boxes for 20+ Species!", "5088ff38-25b7-46f1-aa74-535c236eda06", 8, [], 1094, false, "p4Gn7eR4GwA", "https://www.youtube.com/watch?v=p4Gn7eR4GwA", 4, "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e052500 - I Built Wildlife Boxes for 20+ Species!.mkv", false, false, false, 98, ~U[2025-05-25 13:30:00Z], ~U[2026-04-17 09:14:11Z], ~U[2026-04-17 09:14:11Z], "Year three begins on The Wildlife Homestead. I build wildlife boxes for over 20 species, from owls, to songbirds, to squirrels. \n\nUPDATE to this video: https://youtu.be/rtNZSblJYoE\n\nFisher Den Box Plans: https://conservancy.umn.edu/items/9b3cff5f-1523-417a-8f7b-44f29ef254e1\nChimney Swift Tower Book: https://geni.us/ChimneySwift\nCliff Swallow Artificial Nests: https://www.swallowconservation.org/\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Built Wildlife Boxes for 20+ Species!", 8, 1094, false, "p4Gn7eR4GwA", "https://www.youtube.com/watch?v=p4Gn7eR4GwA", "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e052500 - I Built Wildlife Boxes for 20+ Species!.mkv", false, ~U[2025-05-25 13:30:00Z]] 11:14:11.444 [debug] QUERY OK source="sources" db=0.3ms idle=86.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:11.444 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:11.445 [debug] QUERY OK source="media_items" db=0.3ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [37826] 11:14:11.445 [debug] Current batch of media processed. Will check again in 1000ms 11:14:12.446 [debug] Current batch of media processed. Will check again in 1000ms 11:14:13.447 [debug] Current batch of media processed. Will check again in 1000ms 11:14:14.448 [debug] Current batch of media processed. Will check again in 1000ms 11:14:15.449 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I bought a wildlife homestead two years ago with the goal of managing the land to attract as many animals as possible. This is what happened in year two on The Wildlife Homestead.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, The Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\nTable of Contents\n0:00 - Year 1 Recap\n3:50 - Winter\n21:29 - Spring\n46:10 - Summer\n1:09:26 - Fall", "duration" => 5004, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e122300 - TWO YEARS of building a wildlife paradise on my land.mkv", "id" => "UwTzWRHkz8g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=UwTzWRHkz8g", "playlist_index" => 5, "timestamp" => 1734961557, "title" => "TWO YEARS of building a wildlife paradise on my land", "upload_date" => "20241223"} 11:14:15.450 [debug] QUERY OK source="sources" db=0.2ms idle=845.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:15.450 [debug] QUERY OK source="sources" db=0.2ms idle=846.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:15.452 [debug] QUERY OK source="media_items" db=0.9ms idle=846.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-23 13:45:57Z], 8] 11:14:15.455 [debug] QUERY OK source="media_items" db=2.9ms idle=847.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I bought a wildlife homestead two years ago with the goal of managing the land to attract as many animals as possible. This is what happened in year two on The Wildlife Homestead.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, The Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\nTable of Contents\n0:00 - Year 1 Recap\n3:50 - Winter\n21:29 - Spring\n46:10 - Summer\n1:09:26 - Fall", "TWO YEARS of building a wildlife paradise on my land", "ed583c49-c5a0-4706-a019-39a7de5cbc47", 8, [], 5004, false, "UwTzWRHkz8g", "https://www.youtube.com/watch?v=UwTzWRHkz8g", 5, "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e122300 - TWO YEARS of building a wildlife paradise on my land.mkv", false, false, false, 98, ~U[2024-12-23 13:45:57Z], ~U[2026-04-17 09:14:15Z], ~U[2026-04-17 09:14:15Z], "I bought a wildlife homestead two years ago with the goal of managing the land to attract as many animals as possible. This is what happened in year two on The Wildlife Homestead.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, The Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\nTable of Contents\n0:00 - Year 1 Recap\n3:50 - Winter\n21:29 - Spring\n46:10 - Summer\n1:09:26 - Fall", "TWO YEARS of building a wildlife paradise on my land", 8, 5004, false, "UwTzWRHkz8g", "https://www.youtube.com/watch?v=UwTzWRHkz8g", "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e122300 - TWO YEARS of building a wildlife paradise on my land.mkv", false, ~U[2024-12-23 13:45:57Z]] 11:14:15.456 [debug] QUERY OK source="sources" db=0.2ms idle=94.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:15.456 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:15.457 [debug] QUERY OK source="media_items" db=0.2ms idle=6.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6953] 11:14:15.457 [debug] Current batch of media processed. Will check again in 1000ms 11:14:16.458 [debug] Current batch of media processed. Will check again in 1000ms 11:14:17.459 [debug] Current batch of media processed. Will check again in 1000ms 11:14:18.460 [debug] Current batch of media processed. Will check again in 1000ms 11:14:19.461 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Six months ago, I built a wildlife pond. Today, I share the story of how the pond started and how it evolved during its first season. Great transformation!\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, The Wildlife Homestead, Building Pond, Built Wildlife Pond. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "duration" => 992, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e102700 - I Built a Wildlife Pond (6-Month Transformation).mkv", "id" => "5uh_vVJ7Q0Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5uh_vVJ7Q0Y", "playlist_index" => 6, "timestamp" => 1730050200, "title" => "I Built a Wildlife Pond (6-Month Transformation)", "upload_date" => "20241027"} 11:14:19.462 [debug] QUERY OK source="sources" db=0.3ms idle=857.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:19.462 [debug] QUERY OK source="sources" db=0.1ms idle=858.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:19.463 [debug] QUERY OK source="media_items" db=0.4ms idle=858.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-27 17:30:00Z], 8] 11:14:19.466 [debug] QUERY OK source="media_items" db=2.4ms idle=859.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Six months ago, I built a wildlife pond. Today, I share the story of how the pond started and how it evolved during its first season. Great transformation!\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, The Wildlife Homestead, Building Pond, Built Wildlife Pond. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Built a Wildlife Pond (6-Month Transformation)", "d4c8a57d-eea8-4a3d-a863-84c895927da1", 8, [], 992, false, "5uh_vVJ7Q0Y", "https://www.youtube.com/watch?v=5uh_vVJ7Q0Y", 6, "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e102700 - I Built a Wildlife Pond (6-Month Transformation).mkv", false, false, false, 98, ~U[2024-10-27 17:30:00Z], ~U[2026-04-17 09:14:19Z], ~U[2026-04-17 09:14:19Z], "Six months ago, I built a wildlife pond. Today, I share the story of how the pond started and how it evolved during its first season. Great transformation!\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, The Wildlife Homestead, Building Pond, Built Wildlife Pond. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Built a Wildlife Pond (6-Month Transformation)", 8, 992, false, "5uh_vVJ7Q0Y", "https://www.youtube.com/watch?v=5uh_vVJ7Q0Y", "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e102700 - I Built a Wildlife Pond (6-Month Transformation).mkv", false, ~U[2024-10-27 17:30:00Z]] 11:14:19.467 [debug] QUERY OK source="sources" db=0.2ms idle=100.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:19.467 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:19.468 [debug] QUERY OK source="media_items" db=0.2ms idle=5.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6954] 11:14:19.468 [debug] Current batch of media processed. Will check again in 1000ms 11:14:20.468 [debug] Current batch of media processed. Will check again in 1000ms 11:14:21.469 [debug] Current batch of media processed. Will check again in 1000ms 11:14:22.470 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Summer has arrived on the Wildlife Homestead and with it comes an interesting and unexpected nesting season for the birds!\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Eastern Bluebird nest, Tree Swallow Nest, Eastern Phoebe nest, American Robin Nest. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "duration" => 1351, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e092900 - The Life of Nesting Birds on The Wildlife Homestead.mkv", "id" => "Rx5d3MyD_UY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Rx5d3MyD_UY", "playlist_index" => 7, "timestamp" => 1727622001, "title" => "The Life of Nesting Birds on The Wildlife Homestead", "upload_date" => "20240929"} 11:14:22.471 [debug] QUERY OK source="sources" db=0.2ms idle=1862.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:22.471 [debug] QUERY OK source="sources" db=0.1ms idle=1862.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:22.472 [debug] QUERY OK source="media_items" db=0.4ms idle=1862.9ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-29 15:00:01Z], 8] 11:14:22.475 [debug] QUERY OK source="media_items" db=2.5ms idle=1098.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Summer has arrived on the Wildlife Homestead and with it comes an interesting and unexpected nesting season for the birds!\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Eastern Bluebird nest, Tree Swallow Nest, Eastern Phoebe nest, American Robin Nest. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "The Life of Nesting Birds on The Wildlife Homestead", "59750287-22b5-4de1-bab0-daea18ef302a", 8, [], 1351, false, "Rx5d3MyD_UY", "https://www.youtube.com/watch?v=Rx5d3MyD_UY", 7, "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e092900 - The Life of Nesting Birds on The Wildlife Homestead.mkv", false, false, false, 98, ~U[2024-09-29 15:00:01Z], ~U[2026-04-17 09:14:22Z], ~U[2026-04-17 09:14:22Z], "Summer has arrived on the Wildlife Homestead and with it comes an interesting and unexpected nesting season for the birds!\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Eastern Bluebird nest, Tree Swallow Nest, Eastern Phoebe nest, American Robin Nest. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "The Life of Nesting Birds on The Wildlife Homestead", 8, 1351, false, "Rx5d3MyD_UY", "https://www.youtube.com/watch?v=Rx5d3MyD_UY", "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e092900 - The Life of Nesting Birds on The Wildlife Homestead.mkv", false, ~U[2024-09-29 15:00:01Z]] 11:14:22.476 [debug] QUERY OK source="sources" db=0.2ms idle=100.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:22.476 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:22.476 [debug] QUERY OK source="media_items" db=0.2ms idle=4.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6955] 11:14:22.477 [debug] Current batch of media processed. Will check again in 1000ms 11:14:23.477 [debug] Current batch of media processed. Will check again in 1000ms 11:14:24.478 [debug] Current batch of media processed. Will check again in 1000ms 11:14:25.479 [debug] Current batch of media processed. Will check again in 1000ms 11:14:26.480 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Building a vernal pond for breeding amphibians. This is episode 2 of improving habitat in and around a planted pine stand on The Wildlife Homestead.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "duration" => 817, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e061000 - Building a Wildlife Pond for Amphibians.mkv", "id" => "QJw6qZ03zEg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QJw6qZ03zEg", "playlist_index" => 8, "timestamp" => 1718028919, "title" => "Building a Wildlife Pond for Amphibians", "upload_date" => "20240610"} 11:14:26.481 [debug] QUERY OK source="sources" db=0.2ms idle=872.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:26.481 [debug] QUERY OK source="sources" db=0.1ms idle=872.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:26.482 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=873.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-10 14:15:19Z], 8] 11:14:26.486 [debug] QUERY OK source="media_items" db=2.7ms idle=874.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building a vernal pond for breeding amphibians. This is episode 2 of improving habitat in and around a planted pine stand on The Wildlife Homestead.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "Building a Wildlife Pond for Amphibians", "96812df6-ea40-4151-8f74-593a01fd814b", 8, [], 817, false, "QJw6qZ03zEg", "https://www.youtube.com/watch?v=QJw6qZ03zEg", 8, "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e061000 - Building a Wildlife Pond for Amphibians.mkv", false, false, false, 98, ~U[2024-06-10 14:15:19Z], ~U[2026-04-17 09:14:26Z], ~U[2026-04-17 09:14:26Z], "Building a vernal pond for breeding amphibians. This is episode 2 of improving habitat in and around a planted pine stand on The Wildlife Homestead.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "Building a Wildlife Pond for Amphibians", 8, 817, false, "QJw6qZ03zEg", "https://www.youtube.com/watch?v=QJw6qZ03zEg", "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e061000 - Building a Wildlife Pond for Amphibians.mkv", false, ~U[2024-06-10 14:15:19Z]] 11:14:26.486 [debug] QUERY OK source="sources" db=0.1ms idle=106.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:26.486 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:26.487 [debug] QUERY OK source="media_items" db=0.2ms idle=5.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6956] 11:14:26.487 [debug] Current batch of media processed. Will check again in 1000ms 11:14:27.489 [debug] Current batch of media processed. Will check again in 1000ms 11:14:28.489 [debug] Current batch of media processed. Will check again in 1000ms 11:14:29.490 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Year two has officially begun on The Wildlife Homestead, and we're starting it by converting a pine plantation to a diverse, productive forest.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "duration" => 998, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e051800 - Transforming a Pine Plantation into Wildlife Paradise.mkv", "id" => "oy9OqFNpo98", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oy9OqFNpo98", "playlist_index" => 9, "timestamp" => 1716040801, "title" => "Transforming a Pine Plantation into Wildlife Paradise", "upload_date" => "20240518"} 11:14:29.491 [debug] QUERY OK source="sources" db=0.2ms idle=1882.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:29.491 [debug] QUERY OK source="sources" db=0.1ms idle=1882.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:29.492 [debug] QUERY OK source="media_items" db=0.4ms idle=1883.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-18 14:00:01Z], 8] 11:14:29.496 [debug] QUERY OK source="media_items" db=2.9ms idle=1109.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Year two has officially begun on The Wildlife Homestead, and we're starting it by converting a pine plantation to a diverse, productive forest.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "Transforming a Pine Plantation into Wildlife Paradise", "3ea978ae-0b17-42af-b3a7-0bd980071728", 8, [], 998, false, "oy9OqFNpo98", "https://www.youtube.com/watch?v=oy9OqFNpo98", 9, "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e051800 - Transforming a Pine Plantation into Wildlife Paradise.mkv", false, false, false, 98, ~U[2024-05-18 14:00:01Z], ~U[2026-04-17 09:14:29Z], ~U[2026-04-17 09:14:29Z], "Year two has officially begun on The Wildlife Homestead, and we're starting it by converting a pine plantation to a diverse, productive forest.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "Transforming a Pine Plantation into Wildlife Paradise", 8, 998, false, "oy9OqFNpo98", "https://www.youtube.com/watch?v=oy9OqFNpo98", "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e051800 - Transforming a Pine Plantation into Wildlife Paradise.mkv", false, ~U[2024-05-18 14:00:01Z]] 11:14:29.496 [debug] QUERY OK source="sources" db=0.2ms idle=112.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:29.497 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:29.497 [debug] QUERY OK source="media_items" db=0.2ms idle=5.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6957] 11:14:29.497 [debug] Current batch of media processed. Will check again in 1000ms 11:14:30.502 [debug] Current batch of media processed. Will check again in 1000ms 11:14:31.503 [debug] Current batch of media processed. Will check again in 1000ms 11:14:32.504 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "One year ago, we moved onto this homestead in the forest. Today, I share the whole story of the first year, including all of the wildlife on the property. Incredible year!\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Full Movie, Full Documentary, Free Documentary.\n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\nTable of Contents\n0:00 - Property Tour\n3:40 - Winter\n18:38 - Spring\n39:34 - Summer\n53:05 - Fall", "duration" => 3931, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e122400 - Year 1 of Building The Wildlife Homestead.mkv", "id" => "Szjyhr-JO40", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Szjyhr-JO40", "playlist_index" => 10, "timestamp" => 1703424606, "title" => "Year 1 of Building The Wildlife Homestead", "upload_date" => "20231224"} 11:14:32.505 [debug] QUERY OK source="sources" db=0.3ms idle=1896.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:32.505 [debug] QUERY OK source="sources" db=0.1ms idle=1897.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:32.506 [debug] QUERY OK source="media_items" db=0.4ms idle=1897.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-12-24 13:30:06Z], 8] 11:14:32.509 [debug] QUERY OK source="media_items" db=2.6ms idle=1120.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["One year ago, we moved onto this homestead in the forest. Today, I share the whole story of the first year, including all of the wildlife on the property. Incredible year!\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Full Movie, Full Documentary, Free Documentary.\n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\nTable of Contents\n0:00 - Property Tour\n3:40 - Winter\n18:38 - Spring\n39:34 - Summer\n53:05 - Fall", "Year 1 of Building The Wildlife Homestead", "a7d751d1-18fb-4c8d-913b-bb65c6ad80d9", 8, [], 3931, false, "Szjyhr-JO40", "https://www.youtube.com/watch?v=Szjyhr-JO40", 10, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e122400 - Year 1 of Building The Wildlife Homestead.mkv", false, false, false, 98, ~U[2023-12-24 13:30:06Z], ~U[2026-04-17 09:14:32Z], ~U[2026-04-17 09:14:32Z], "One year ago, we moved onto this homestead in the forest. Today, I share the whole story of the first year, including all of the wildlife on the property. Incredible year!\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Full Movie, Full Documentary, Free Documentary.\n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\nTable of Contents\n0:00 - Property Tour\n3:40 - Winter\n18:38 - Spring\n39:34 - Summer\n53:05 - Fall", "Year 1 of Building The Wildlife Homestead", 8, 3931, false, "Szjyhr-JO40", "https://www.youtube.com/watch?v=Szjyhr-JO40", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e122400 - Year 1 of Building The Wildlife Homestead.mkv", false, ~U[2023-12-24 13:30:06Z]] 11:14:32.510 [debug] QUERY OK source="sources" db=0.1ms idle=122.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:32.510 [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] 11:14:32.511 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6958] 11:14:32.511 [debug] Current batch of media processed. Will check again in 1000ms 11:14:33.257 [info] {"source":"oban","duration":796,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:14:33.512 [debug] Current batch of media processed. Will check again in 1000ms 11:14:34.513 [debug] Current batch of media processed. Will check again in 1000ms 11:14:35.514 [debug] Current batch of media processed. Will check again in 1000ms 11:14:36.515 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "3 Months ago, I built this bird bathing pond and now it's time to see what's been showing up and how the pond's doing.\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "duration" => 647, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e120100 - What Happened to the Bird Bathing Pond I Built?.mkv", "id" => "vbE-FUE4vyM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vbE-FUE4vyM", "playlist_index" => 11, "timestamp" => 1701442860, "title" => "What Happened to the Bird Bathing Pond I Built?", "upload_date" => "20231201"} 11:14:36.516 [debug] QUERY OK source="sources" db=0.2ms idle=1121.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:36.516 [debug] QUERY OK source="sources" db=0.1ms idle=908.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:36.517 [debug] QUERY OK source="media_items" db=0.4ms idle=908.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-12-01 15:01:00Z], 8] 11:14:36.520 [debug] QUERY OK source="media_items" db=2.5ms idle=909.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["3 Months ago, I built this bird bathing pond and now it's time to see what's been showing up and how the pond's doing.\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "What Happened to the Bird Bathing Pond I Built?", "86a8c3c5-c373-41f5-9028-47868f28ac0e", 8, [], 647, false, "vbE-FUE4vyM", "https://www.youtube.com/watch?v=vbE-FUE4vyM", 11, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e120100 - What Happened to the Bird Bathing Pond I Built?.mkv", false, false, false, 98, ~U[2023-12-01 15:01:00Z], ~U[2026-04-17 09:14:36Z], ~U[2026-04-17 09:14:36Z], "3 Months ago, I built this bird bathing pond and now it's time to see what's been showing up and how the pond's doing.\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "What Happened to the Bird Bathing Pond I Built?", 8, 647, false, "vbE-FUE4vyM", "https://www.youtube.com/watch?v=vbE-FUE4vyM", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e120100 - What Happened to the Bird Bathing Pond I Built?.mkv", false, ~U[2023-12-01 15:01:00Z]] 11:14:36.521 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=125.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:36.521 [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] 11:14:36.522 [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 [6959] 11:14:36.522 [debug] Current batch of media processed. Will check again in 1000ms 11:14:37.523 [debug] Current batch of media processed. Will check again in 1000ms 11:14:38.524 [debug] Current batch of media processed. Will check again in 1000ms 11:14:39.525 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I left trail cameras in the forest for 3 months, here's what they saw. Many interesting species, including one that I've dreamed about getting on my land!\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "duration" => 575, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e102200 - 3 Months of Trail Camera Footage on my Wildlife Homestead (SUMMER).mkv", "id" => "V4Wmks6oFyE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=V4Wmks6oFyE", "playlist_index" => 12, "timestamp" => 1697984101, "title" => "3 Months of Trail Camera Footage on my Wildlife Homestead (SUMMER)", "upload_date" => "20231022"} 11:14:39.526 [debug] QUERY OK source="sources" db=0.3ms idle=1917.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:39.526 [debug] QUERY OK source="sources" db=0.1ms idle=1918.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:39.527 [debug] QUERY OK source="media_items" db=0.4ms idle=1918.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-10-22 14:15:01Z], 8] 11:14:39.529 [debug] QUERY OK source="media_items" db=1.4ms idle=1127.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I left trail cameras in the forest for 3 months, here's what they saw. Many interesting species, including one that I've dreamed about getting on my land!\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "3 Months of Trail Camera Footage on my Wildlife Homestead (SUMMER)", "b849556d-3d76-4be5-88bb-b5a071e7c884", 8, [], 575, false, "V4Wmks6oFyE", "https://www.youtube.com/watch?v=V4Wmks6oFyE", 12, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e102200 - 3 Months of Trail Camera Footage on my Wildlife Homestead (SUMMER).mkv", false, false, false, 98, ~U[2023-10-22 14:15:01Z], ~U[2026-04-17 09:14:39Z], ~U[2026-04-17 09:14:39Z], "I left trail cameras in the forest for 3 months, here's what they saw. Many interesting species, including one that I've dreamed about getting on my land!\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "3 Months of Trail Camera Footage on my Wildlife Homestead (SUMMER)", 8, 575, false, "V4Wmks6oFyE", "https://www.youtube.com/watch?v=V4Wmks6oFyE", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e102200 - 3 Months of Trail Camera Footage on my Wildlife Homestead (SUMMER).mkv", false, ~U[2023-10-22 14:15:01Z]] 11:14:39.530 [debug] QUERY OK source="sources" db=0.1ms idle=128.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:39.530 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:39.531 [debug] QUERY OK source="media_items" db=0.4ms 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 [6960] 11:14:39.531 [debug] Current batch of media processed. Will check again in 1000ms 11:14:40.532 [debug] Current batch of media processed. Will check again in 1000ms 11:14:41.533 [debug] Current batch of media processed. Will check again in 1000ms 11:14:42.534 [debug] Current batch of media processed. Will check again in 1000ms 11:14:43.535 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I built a bird bathing pond in the forest. I share the process of how I converted this empty area, into a wildlife bathing pond with multiple pools and small waterfalls. Incredible transformation!\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Building wildlife pond, I built a wildlife pond - here's what happened, nature pond, building a river, building a stream, wildlife river, wildlife stream, bird bath, bird bath build\n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "duration" => 788, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e081100 - I Built a Bird Bathing Pond in the Forest!.mkv", "id" => "OA4CawaODC0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OA4CawaODC0", "playlist_index" => 13, "timestamp" => 1691762414, "title" => "I Built a Bird Bathing Pond in the Forest!", "upload_date" => "20230811"} 11:14:43.536 [debug] QUERY OK source="sources" db=0.2ms idle=927.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:43.536 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=928.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:43.537 [debug] QUERY OK source="media_items" db=0.4ms idle=928.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-08-11 14:00:14Z], 8] 11:14:43.540 [debug] QUERY OK source="media_items" db=1.6ms idle=929.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I built a bird bathing pond in the forest. I share the process of how I converted this empty area, into a wildlife bathing pond with multiple pools and small waterfalls. Incredible transformation!\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Building wildlife pond, I built a wildlife pond - here's what happened, nature pond, building a river, building a stream, wildlife river, wildlife stream, bird bath, bird bath build\n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Built a Bird Bathing Pond in the Forest!", "44156b13-db35-4314-953a-7f7669222e73", 8, [], 788, false, "OA4CawaODC0", "https://www.youtube.com/watch?v=OA4CawaODC0", 13, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e081100 - I Built a Bird Bathing Pond in the Forest!.mkv", false, false, false, 98, ~U[2023-08-11 14:00:14Z], ~U[2026-04-17 09:14:43Z], ~U[2026-04-17 09:14:43Z], "I built a bird bathing pond in the forest. I share the process of how I converted this empty area, into a wildlife bathing pond with multiple pools and small waterfalls. Incredible transformation!\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Building wildlife pond, I built a wildlife pond - here's what happened, nature pond, building a river, building a stream, wildlife river, wildlife stream, bird bath, bird bath build\n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Built a Bird Bathing Pond in the Forest!", 8, 788, false, "OA4CawaODC0", "https://www.youtube.com/watch?v=OA4CawaODC0", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e081100 - I Built a Bird Bathing Pond in the Forest!.mkv", false, ~U[2023-08-11 14:00:14Z]] 11:14:43.540 [debug] QUERY OK source="sources" db=0.1ms idle=134.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:43.540 [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] 11:14:43.541 [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 [6961] 11:14:43.541 [debug] Current batch of media processed. Will check again in 1000ms 11:14:44.542 [debug] Current batch of media processed. Will check again in 1000ms 11:14:45.543 [debug] Current batch of media processed. Will check again in 1000ms 11:14:46.544 [debug] Current batch of media processed. Will check again in 1000ms 11:14:47.545 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Which species have been moving through the Wildlife Homestead over the past 3 months? And what's been happening with the baby foxes? \n\nThe two trail cameras I used to capture the footage in today's video:\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nPlantlife ▶ https://www.plantlife.org.uk/donations/one-off-donation/\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Nature\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Trail Camera footage, unseen trail camera, trail cameras, wildlife on trail cameras, nature on trail cameras, nature trail camera, wildlife footage, trails\n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\n0:00 - What's Happening Around the Wildlife Homestead\n04:29 - Trail Camera Update", "duration" => 844, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e072000 - 3 Months of trail cameras on my Wildlife Homestead (SPRING).mkv", "id" => "jZfSPFOeEYY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jZfSPFOeEYY", "playlist_index" => 14, "timestamp" => 1689861602, "title" => "3 Months of trail cameras on my Wildlife Homestead (SPRING)", "upload_date" => "20230720"} 11:14:47.546 [debug] QUERY OK source="sources" db=0.2ms idle=937.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:47.546 [debug] QUERY OK source="sources" db=0.1ms idle=938.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:47.547 [debug] QUERY OK source="media_items" db=0.4ms idle=938.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-07-20 14:00:02Z], 8] 11:14:47.549 [debug] QUERY OK source="media_items" db=1.5ms idle=939.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Which species have been moving through the Wildlife Homestead over the past 3 months? And what's been happening with the baby foxes? \n\nThe two trail cameras I used to capture the footage in today's video:\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nPlantlife ▶ https://www.plantlife.org.uk/donations/one-off-donation/\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Nature\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Trail Camera footage, unseen trail camera, trail cameras, wildlife on trail cameras, nature on trail cameras, nature trail camera, wildlife footage, trails\n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\n0:00 - What's Happening Around the Wildlife Homestead\n04:29 - Trail Camera Update", "3 Months of trail cameras on my Wildlife Homestead (SPRING)", "8da03c70-5db3-47b3-8176-14b564d64ba6", 8, [], 844, false, "jZfSPFOeEYY", "https://www.youtube.com/watch?v=jZfSPFOeEYY", 14, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e072000 - 3 Months of trail cameras on my Wildlife Homestead (SPRING).mkv", false, false, false, 98, ~U[2023-07-20 14:00:02Z], ~U[2026-04-17 09:14:47Z], ~U[2026-04-17 09:14:47Z], "Which species have been moving through the Wildlife Homestead over the past 3 months? And what's been happening with the baby foxes? \n\nThe two trail cameras I used to capture the footage in today's video:\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nPlantlife ▶ https://www.plantlife.org.uk/donations/one-off-donation/\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Nature\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Trail Camera footage, unseen trail camera, trail cameras, wildlife on trail cameras, nature on trail cameras, nature trail camera, wildlife footage, trails\n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\n0:00 - What's Happening Around the Wildlife Homestead\n04:29 - Trail Camera Update", "3 Months of trail cameras on my Wildlife Homestead (SPRING)", 8, 844, false, "jZfSPFOeEYY", "https://www.youtube.com/watch?v=jZfSPFOeEYY", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e072000 - 3 Months of trail cameras on my Wildlife Homestead (SPRING).mkv", false, ~U[2023-07-20 14:00:02Z]] 11:14:47.550 [debug] QUERY OK source="sources" db=0.2ms idle=138.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:47.550 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 11:14:47.551 [debug] QUERY OK source="media_items" db=0.2ms 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 [6962] 11:14:47.551 [debug] Current batch of media processed. Will check again in 1000ms 11:14:48.555 [debug] Current batch of media processed. Will check again in 1000ms 11:14:49.556 [debug] Current batch of media processed. Will check again in 1000ms 11:14:50.557 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "To my surprise, there's something living under my garage! I spent the past three weeks filming the family of foxes that have moved onto my Wildlife Homestead. Find out what happened!\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\nThe Cornell Lab of Ornithology ▶ https://geni.us/CornellLab\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#Wildlife #Foxes #WildlifeHomestead\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Baby Foxes, Cute foxes, red foxes, fox. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "duration" => 596, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e070400 - Baby Red Foxes are living on my Wildlife Homestead!.mkv", "id" => "dGHJGeFu0-E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dGHJGeFu0-E", "playlist_index" => 15, "timestamp" => 1688478302, "title" => "Baby Red Foxes are living on my Wildlife Homestead!", "upload_date" => "20230704"} 11:14:50.558 [debug] QUERY OK source="sources" db=0.2ms idle=1949.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:50.558 [debug] QUERY OK source="sources" db=0.1ms idle=1949.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:50.559 [debug] QUERY OK source="media_items" db=0.4ms idle=1950.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-07-04 13:45:02Z], 8] 11:14:50.566 [debug] QUERY OK source="media_items" db=6.0ms idle=1145.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["To my surprise, there's something living under my garage! I spent the past three weeks filming the family of foxes that have moved onto my Wildlife Homestead. Find out what happened!\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\nThe Cornell Lab of Ornithology ▶ https://geni.us/CornellLab\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#Wildlife #Foxes #WildlifeHomestead\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Baby Foxes, Cute foxes, red foxes, fox. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "Baby Red Foxes are living on my Wildlife Homestead!", "05ec3efa-075d-494c-af16-148022c47637", 8, [], 596, false, "dGHJGeFu0-E", "https://www.youtube.com/watch?v=dGHJGeFu0-E", 15, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e070400 - Baby Red Foxes are living on my Wildlife Homestead!.mkv", false, false, false, 98, ~U[2023-07-04 13:45:02Z], ~U[2026-04-17 09:14:50Z], ~U[2026-04-17 09:14:50Z], "To my surprise, there's something living under my garage! I spent the past three weeks filming the family of foxes that have moved onto my Wildlife Homestead. Find out what happened!\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\nThe Cornell Lab of Ornithology ▶ https://geni.us/CornellLab\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#Wildlife #Foxes #WildlifeHomestead\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Baby Foxes, Cute foxes, red foxes, fox. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "Baby Red Foxes are living on my Wildlife Homestead!", 8, 596, false, "dGHJGeFu0-E", "https://www.youtube.com/watch?v=dGHJGeFu0-E", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e070400 - Baby Red Foxes are living on my Wildlife Homestead!.mkv", false, ~U[2023-07-04 13:45:02Z]] 11:14:50.566 [debug] QUERY OK source="sources" db=0.2ms idle=151.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:50.567 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:50.567 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6963] 11:14:50.567 [debug] Current batch of media processed. Will check again in 1000ms 11:14:51.568 [debug] Current batch of media processed. Will check again in 1000ms 11:14:52.569 [debug] Current batch of media processed. Will check again in 1000ms 11:14:53.570 [debug] Current batch of media processed. Will check again in 1000ms 11:14:54.571 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Bird migration is the busiest, and most exciting time of the year for birders. I spent 24 hours on my wildlife homestead trying to see as many species as I could!\n\nI'll be donating a portion of the AdSense earned this month to the Canadian Red Cross to help fight the wildfires spreading through Quebec:\nhttps://www.redcross.ca/how-we-help/current-emergency-responses/2023-quebec-fires\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nTotal list of species observed at the Wildlife Homestead since we moved in 6 months ago:\n1. Alder Flycatcher\n2. American Crow\n3. American Goldfinch\n4. American Kestrel\n5. American Redstart\n6. American Robin\n7. American Tree Sparrow\n8. American Woodcock\n9. Bald Eagle\n10. Barn Swallow\n11. Barred Owl\n12. Bay-breasted Warbler\n13. Black-and-White Warbler\n14. Black-capped Chickadee\n15. Black-throated Blue Warbler\n16. Black-throated Green Warbler\n17. Blackburnian Warbler\n18. Blackpoll Warbler\n19. Blue Jay\n20. Blue-headed Vireo\n21. Boreal Chickadee\n22. Broad-winged Hawk\n23. Brown Creeper\n24. Brown Thrasher\n25. Brown-headed Cowbird\n26. Canada Goose\n27. Canada Jay\n28. Cape May Warbler\n29. Cedar Waxwing\n30. Chestnut-sided Warbler\n31. Chipping Sparrow\n32. Cliff Swallow\n33. Common Goldeneye\n34. Common Grackle\n35. Common Raven\n36. Common Redpoll\n37. Common Yellowthroat\n38. Cooper’s Hawk\n39. Dark-eyed Junco\n40. Double-crested Cormorant\n41. Downy Woodpecker\n42. Eastern Bluebird\n43. Eastern Phoebe\n44. Eastern Wood-Pewee\n45. European Starling\n46. Evening Grosbeak\n47. Fox Sparrow\n48. Golden-crowned Kinglet\n49. Gray Catbird\n50. Great Horned Owl\n51. Hairy Woodpecker\n52. Hermit Thrush\n53. Hoary Redpoll\n54. Killdeer\n55. Least Flycatcher\n56. Magnolia Warbler\n57. Mallard\n58. Merlin\n59. Mourning Warbler\n60. Nashville Warbler\n61. Northern Flicker\n62. Northern Goshawk\n63. Northern Harrier\n64. Northern Parula\n65. Northern Waterthrush\n66. Ovenbird\n67. Philadelphia Vireo\n68. Pileated Woodpecker\n69. Pine Grosbeak\n70. Pine Siskin\n71. Purple Finch\n72. Red-bellied Woodpecker\n73. Red-breasted Nuthatch\n74. Red-eyed Vireo\n75. Red-tailed Hawk\n76. Red-winged Blackbird\n77. Rose-breasted Grosbeak\n78. Ruby-crowned Kinglet\n79. Ruby-throated Hummingbird\n80. Ruffed Grouse\n81. Savannah Sparrow\n82. Sharp-shinned Hawk\n83. Snow Bunting\n84. Solitary Sandpiper\n85. Song Sparrow\n86. Swamp Sparrow\n87. Tennessee Warbler\n88. Tree Swallow\n89. Turkey Vulture\n90. White-breasted Nuthatch\n91. White-crowned Sparrow\n92. White-throated Sparrow\n93. Wild Turkey\n94. Wilson’s Snipe\n95. Winter Wren\n96. Yellow-bellied Sapsucker\n97. Yellow-rumped Warbler\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#BirdPhotography #WildlifePhotography #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through large" <> ..., "duration" => 1091, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e061300 - 24 HOURS of Bird Migration on my Wildlife Homestead!.mkv", "id" => "UqsRFTI86U8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=UqsRFTI86U8", "playlist_index" => 16, "timestamp" => 1686663950, "title" => "24 HOURS of Bird Migration on my Wildlife Homestead!", "upload_date" => "20230613"} 11:14:54.572 [debug] QUERY OK source="sources" db=0.2ms idle=963.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:54.572 [debug] QUERY OK source="sources" db=0.1ms idle=963.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:54.573 [debug] QUERY OK source="media_items" db=0.4ms idle=964.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-06-13 13:45:50Z], 8] 11:14:54.577 [debug] QUERY OK source="media_items" db=2.9ms idle=964.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Bird migration is the busiest, and most exciting time of the year for birders. I spent 24 hours on my wildlife homestead trying to see as many species as I could!\n\nI'll be donating a portion of the AdSense earned this month to the Canadian Red Cross to help fight the wildfires spreading through Quebec:\nhttps://www.redcross.ca/how-we-help/current-emergency-responses/2023-quebec-fires\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nTotal list of species observed at the Wildlife Homestead since we moved in 6 months ago:\n1. Alder Flycatcher\n2. American Crow\n3. American Goldfinch\n4. American Kestrel\n5. American Redstart\n6. American Robin\n7. American Tree Sparrow\n8. American Woodcock\n9. Bald Eagle\n10. Barn Swallow\n11. Barred Owl\n12. Bay-breasted Warbler\n13. Black-and-White Warbler\n14. Black-capped Chickadee\n15. Black-throated Blue Warbler\n16. Black-throated Green Warbler\n17. Blackburnian Warbler\n18. Blackpoll Warbler\n19. Blue Jay\n20. Blue-headed Vireo\n21. Boreal Chickadee\n22. Broad-winged Hawk\n23. Brown Creeper\n24. Brown Thrasher\n25. Brown-headed Cowbird\n26. Canada Goose\n27. Canada Jay\n28. Cape May Warbler\n29. Cedar Waxwing\n30. Chestnut-sided Warbler\n31. Chipping Sparrow\n32. Cliff Swallow\n33. Common Goldeneye\n34. Common Grackle\n35. Common Raven\n36. Common Redpoll\n37. Common Yellowthroat\n38. Cooper’s Hawk\n39. Dark-eyed Junco\n40. Double-crested Cormorant\n41. Downy Woodpecker\n42. Eastern Bluebird\n43. Eastern Phoebe\n44. Eastern Wood-Pewee\n45. European Starling\n46. Evening Grosbeak\n47. Fox Sparrow\n48. Golden-crowned Kinglet\n49. Gray Catbird\n50. Great Horned Owl\n51. Hairy Woodpecker\n52. Hermit Thrush\n53. Hoary Redpoll\n54. Killdeer\n55. Least Flycatcher\n56. Magnolia Warbler\n57. Mallard\n58. Merlin\n59. Mourning Warbler\n60. Nashville Warbler\n61. Northern Flicker\n62. Northern Goshawk\n63. Northern Harrier\n64. Northern Parula\n65. Northern Waterthrush\n66. Ovenbird\n67. Philadelphia Vireo\n68. Pileated Woodpecker\n69. Pine Grosbeak\n70. Pine Siskin\n71. Purple Finch\n72. Red-bellied Woodpecker\n73. Red-breasted Nuthatch\n74. Red-eyed Vireo\n75. Red-tailed Hawk\n76. Red-winged Blackbird\n77. Rose-breasted Grosbeak\n78. Ruby-crowned Kinglet\n79. Ruby-throated Hummingbird\n80. Ruffed Grouse\n81. Savannah Sparrow\n82. Sharp-shinned Hawk\n83. Snow Bunting\n84. Solitary Sandpiper\n85. Song Sparrow\n86. Swamp Sparrow\n87. Tennessee Warbler\n88. Tree Swallow\n89. Turkey Vulture\n90. White-breasted Nuthatch\n91. White-crowned Sparrow\n92. White-throated Sparrow\n93. Wild Turkey\n94. Wilson’s Snipe\n95. Winter Wren\n96. Yellow-bellied Sapsucker\n97. Yellow-rumped Warbler\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#BirdPhotography #WildlifePhotography #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through large" <> ..., "24 HOURS of Bird Migration on my Wildlife Homestead!", "84a2198f-d82e-45c9-83b3-c903f3690ec1", 8, [], 1091, false, "UqsRFTI86U8", "https://www.youtube.com/watch?v=UqsRFTI86U8", 16, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e061300 - 24 HOURS of Bird Migration on my Wildlife Homestead!.mkv", false, false, false, 98, ~U[2023-06-13 13:45:50Z], ~U[2026-04-17 09:14:54Z], ~U[2026-04-17 09:14:54Z], "Bird migration is the busiest, and most exciting time of the year for birders. I spent 24 hours on my wildlife homestead trying to see as many species as I could!\n\nI'll be donating a portion of the AdSense earned this month to the Canadian Red Cross to help fight the wildfires spreading through Quebec:\nhttps://www.redcross.ca/how-we-help/current-emergency-responses/2023-quebec-fires\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nTotal list of species observed at the Wildlife Homestead since we moved in 6 months ago:\n1. Alder Flycatcher\n2. American Crow\n3. American Goldfinch\n4. American Kestrel\n5. American Redstart\n6. American Robin\n7. American Tree Sparrow\n8. American Woodcock\n9. Bald Eagle\n10. Barn Swallow\n11. Barred Owl\n12. Bay-breasted Warbler\n13. Black-and-White Warbler\n14. Black-capped Chickadee\n15. Black-throated Blue Warbler\n16. Black-throated Green Warbler\n17. Blackburnian Warbler\n18. Blackpoll Warbler\n19. Blue Jay\n20. Blue-headed Vireo\n21. Boreal Chickadee\n22. Broad-winged Hawk\n23. Brown Creeper\n24. Brown Thrasher\n25. Brown-headed Cowbird\n26. Canada Goose\n27. Canada Jay\n28. Cape May Warbler\n29. Cedar Waxwing\n30. Chestnut-sided Warbler\n31. Chipping Sparrow\n32. Cliff Swallow\n33. Common Goldeneye\n34. Common Grackle\n35. Common Raven\n36. Common Redpoll\n37. Common Yellowthroat\n38. Cooper’s Hawk\n39. Dark-eyed Junco\n40. Double-crested Cormorant\n41. Downy Woodpecker\n42. Eastern Bluebird\n43. Eastern Phoebe\n44. Eastern Wood-Pewee\n45. European Starling\n46. Evening Grosbeak\n47. Fox Sparrow\n48. Golden-crowned Kinglet\n49. Gray Catbird\n50. Great Horned Owl\n51. Hairy Woodpecker\n52. Hermit Thrush\n53. Hoary Redpoll\n54. Killdeer\n55. Least Flycatcher\n56. Magnolia Warbler\n57. Mallard\n58. Merlin\n59. Mourning Warbler\n60. Nashville Warbler\n61. Northern Flicker\n62. Northern Goshawk\n63. Northern Harrier\n64. Northern Parula\n65. Northern Waterthrush\n66. Ovenbird\n67. Philadelphia Vireo\n68. Pileated Woodpecker\n69. Pine Grosbeak\n70. Pine Siskin\n71. Purple Finch\n72. Red-bellied Woodpecker\n73. Red-breasted Nuthatch\n74. Red-eyed Vireo\n75. Red-tailed Hawk\n76. Red-winged Blackbird\n77. Rose-breasted Grosbeak\n78. Ruby-crowned Kinglet\n79. Ruby-throated Hummingbird\n80. Ruffed Grouse\n81. Savannah Sparrow\n82. Sharp-shinned Hawk\n83. Snow Bunting\n84. Solitary Sandpiper\n85. Song Sparrow\n86. Swamp Sparrow\n87. Tennessee Warbler\n88. Tree Swallow\n89. Turkey Vulture\n90. White-breasted Nuthatch\n91. White-crowned Sparrow\n92. White-throated Sparrow\n93. Wild Turkey\n94. Wilson’s Snipe\n95. Winter (truncated) 11:14:54.578 [debug] QUERY OK source="sources" db=0.2ms idle=157.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:54.578 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:54.579 [debug] QUERY OK source="media_items" db=0.2ms idle=5.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6964] 11:14:54.579 [debug] Current batch of media processed. Will check again in 1000ms 11:14:55.579 [debug] Current batch of media processed. Will check again in 1000ms 11:14:56.580 [debug] Current batch of media processed. Will check again in 1000ms 11:14:57.581 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "What's living in my wildlife ponds? This is my first spring at this new property, and I explore my ponds to see which species are living there.\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\nThe Cornell Lab of Ornithology ▶ https://geni.us/CornellLab\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Birding #wildlife \n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, I built a wildlife pond - here's what happened, wildlife ponds, pond life \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "duration" => 583, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e052500 - I Explored my Wildlife Ponds - here's what i found.mkv", "id" => "zcDJ6XsEido", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zcDJ6XsEido", "playlist_index" => 17, "timestamp" => 1685022362, "title" => "I Explored my Wildlife Ponds - here's what i found", "upload_date" => "20230525"} 11:14:57.582 [debug] QUERY OK source="sources" db=0.2ms idle=1973.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:14:57.582 [debug] QUERY OK source="sources" db=0.1ms idle=1973.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:57.583 [debug] QUERY OK source="media_items" db=0.4ms idle=1974.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-05-25 13:46:02Z], 8] 11:14:57.585 [debug] QUERY OK source="media_items" db=1.4ms idle=1160.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["What's living in my wildlife ponds? This is my first spring at this new property, and I explore my ponds to see which species are living there.\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\nThe Cornell Lab of Ornithology ▶ https://geni.us/CornellLab\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Birding #wildlife \n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, I built a wildlife pond - here's what happened, wildlife ponds, pond life \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Explored my Wildlife Ponds - here's what i found", "5cb8e093-54ed-4737-8fe8-c7603dcd22a4", 8, [], 583, false, "zcDJ6XsEido", "https://www.youtube.com/watch?v=zcDJ6XsEido", 17, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e052500 - I Explored my Wildlife Ponds - here's what i found.mkv", false, false, false, 98, ~U[2023-05-25 13:46:02Z], ~U[2026-04-17 09:14:57Z], ~U[2026-04-17 09:14:57Z], "What's living in my wildlife ponds? This is my first spring at this new property, and I explore my ponds to see which species are living there.\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\nThe Cornell Lab of Ornithology ▶ https://geni.us/CornellLab\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Birding #wildlife \n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, I built a wildlife pond - here's what happened, wildlife ponds, pond life \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Explored my Wildlife Ponds - here's what i found", 8, 583, false, "zcDJ6XsEido", "https://www.youtube.com/watch?v=zcDJ6XsEido", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e052500 - I Explored my Wildlife Ponds - here's what i found.mkv", false, ~U[2023-05-25 13:46:02Z]] 11:14:57.586 [debug] QUERY OK source="sources" db=0.1ms idle=161.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:14:57.586 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:14:57.586 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6965] 11:14:57.587 [debug] Current batch of media processed. Will check again in 1000ms 11:14:58.587 [debug] Current batch of media processed. Will check again in 1000ms 11:14:59.588 [debug] Current batch of media processed. Will check again in 1000ms 11:15:00.589 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "With winter coming to an end, I start preparing for the busiest time of the year!\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\nThe Cornell Lab of Ornithology ▶ https://geni.us/CornellLab\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMy Second Wildlife Lens ▶ https://geni.us/Sigma100400\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#BirdPhotography #WildlifePhotography #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "duration" => 782, "filename" => "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e042700 - Preparing for a WILD SPRING at my Wildlife Homestead.mkv", "id" => "y2F-iWIbutw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=y2F-iWIbutw", "playlist_index" => 18, "timestamp" => 1682600680, "title" => "Preparing for a WILD SPRING at my Wildlife Homestead", "upload_date" => "20230427"} 11:15:00.590 [debug] QUERY OK source="sources" db=0.2ms idle=1981.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:15:00.590 [debug] QUERY OK source="sources" db=0.1ms idle=1981.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:00.591 [debug] QUERY OK source="media_items" db=0.4ms idle=1982.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-04-27 13:04:40Z], 8] 11:15:00.594 [debug] QUERY OK source="media_items" db=1.9ms idle=1162.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With winter coming to an end, I start preparing for the busiest time of the year!\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\nThe Cornell Lab of Ornithology ▶ https://geni.us/CornellLab\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMy Second Wildlife Lens ▶ https://geni.us/Sigma100400\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#BirdPhotography #WildlifePhotography #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "Preparing for a WILD SPRING at my Wildlife Homestead", "b474192a-d0a2-4fb5-9dff-d26ed3204e39", 8, [], 782, false, "y2F-iWIbutw", "https://www.youtube.com/watch?v=y2F-iWIbutw", 18, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e042700 - Preparing for a WILD SPRING at my Wildlife Homestead.mkv", false, false, false, 98, ~U[2023-04-27 13:04:40Z], ~U[2026-04-17 09:15:00Z], ~U[2026-04-17 09:15:00Z], "With winter coming to an end, I start preparing for the busiest time of the year!\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\nThe Cornell Lab of Ornithology ▶ https://geni.us/CornellLab\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMy Second Wildlife Lens ▶ https://geni.us/Sigma100400\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#BirdPhotography #WildlifePhotography #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "Preparing for a WILD SPRING at my Wildlife Homestead", 8, 782, false, "y2F-iWIbutw", "https://www.youtube.com/watch?v=y2F-iWIbutw", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e042700 - Preparing for a WILD SPRING at my Wildlife Homestead.mkv", false, ~U[2023-04-27 13:04:40Z]] 11:15:00.594 [debug] QUERY OK source="sources" db=0.1ms idle=164.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:00.594 [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] 11:15:00.595 [debug] QUERY OK source="media_items" db=0.3ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6966] 11:15:00.595 [debug] Current batch of media processed. Will check again in 1000ms 11:15:00.827 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:15:01.596 [debug] Current batch of media processed. Will check again in 1000ms 11:15:02.597 [debug] Current batch of media processed. Will check again in 1000ms 11:15:03.250 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/@TheWildlifeHomestead --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/TheWildlifeHomestead/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --break-on-existing --download-archive /tmp/pinchflat/data/82/9c/829c665d8f77155a9d3116e63fa335a3ee1ee84d1d0e8378ba8b3139360f7fbb.txt --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/ef/8e/ef8e58e5380dc2dd52a5685bb44c62a51a014b8e3b343bd856af7101208c95c0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 101 with: 11:15:03.251 [debug] Gracefully stopping file follower 11:15:03.252 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1643.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [8] 11:15:03.252 [debug] QUERY OK source="sources" db=0.2ms idle=1643.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.253 [debug] QUERY OK source="media_items" db=0.4ms idle=1644.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-22 14:15:00Z], 8] 11:15:03.255 [debug] QUERY OK source="media_items" db=1.3ms idle=818.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I bought a homestead three years ago with the goal of managing the land to attract as many animals as possible. This is what happened in year three on The Wildlife Homestead.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, The Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\nTable of Contents\n0:00 - Recap\n3:16 - Winter\n21:10 - Spring\n40:23 - Summer\n55:17 - Fall", "THREE YEARS of building a wildlife paradise on my land", "58a9ea92-5533-4198-b0a5-4f07a6fec8c9", 8, [], 4145, false, "j78UZoF0yQI", "https://www.youtube.com/watch?v=j78UZoF0yQI", 1, "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e122200 - THREE YEARS of building a wildlife paradise on my land.mkv", false, false, false, 98, ~U[2025-12-22 14:15:00Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "I bought a homestead three years ago with the goal of managing the land to attract as many animals as possible. This is what happened in year three on The Wildlife Homestead.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, The Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\nTable of Contents\n0:00 - Recap\n3:16 - Winter\n21:10 - Spring\n40:23 - Summer\n55:17 - Fall", "THREE YEARS of building a wildlife paradise on my land", 8, 4145, false, "j78UZoF0yQI", "https://www.youtube.com/watch?v=j78UZoF0yQI", "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e122200 - THREE YEARS of building a wildlife paradise on my land.mkv", false, ~U[2025-12-22 14:15:00Z]] 11:15:03.255 [debug] QUERY OK source="sources" db=0.2ms idle=647.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.256 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-29 15:30:38Z], 8] 11:15:03.258 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:15:03.259 [debug] QUERY OK source="media_items" db=2.2ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["8 months ago, I built different wildlife nest and den boxes for over 20 species. This update shares how well each box did at attracting wildlife, as well as the successes and failures from the season.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, The Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Built 50 Boxes for Wildlife - here's what happened", "792c994b-a881-436a-81ad-7250b47019c8", 8, [], 1390, false, "rtNZSblJYoE", "https://www.youtube.com/watch?v=rtNZSblJYoE", 2, "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e112900 - I Built 50 Boxes for Wildlife - here's what happened.mkv", false, false, false, 98, ~U[2025-11-29 15:30:38Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "8 months ago, I built different wildlife nest and den boxes for over 20 species. This update shares how well each box did at attracting wildlife, as well as the successes and failures from the season.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, The Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Built 50 Boxes for Wildlife - here's what happened", 8, 1390, false, "rtNZSblJYoE", "https://www.youtube.com/watch?v=rtNZSblJYoE", "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e112900 - I Built 50 Boxes for Wildlife - here's what happened.mkv", false, ~U[2025-11-29 15:30:38Z]] 11:15:03.260 [debug] QUERY OK source="sources" db=0.3ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.260 [debug] QUERY OK source="media_items" db=0.5ms idle=4.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 13:30:53Z], 8] 11:15:03.262 [debug] QUERY OK source="media_items" db=1.3ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Nature is filled with surprises. This year I was caught off guard by something I had never seen before... baby Red Foxes with white legs!\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "The Life of Baby Red Foxes on The Wildlife Homestead", "08a01d5c-195d-4b5d-9dc4-234efe99a058", 8, [], 749, false, "THB6BvsPn9E", "https://www.youtube.com/watch?v=THB6BvsPn9E", 3, "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e081400 - The Life of Baby Red Foxes on The Wildlife Homestead.mkv", false, false, false, 98, ~U[2025-08-14 13:30:53Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "Nature is filled with surprises. This year I was caught off guard by something I had never seen before... baby Red Foxes with white legs!\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "The Life of Baby Red Foxes on The Wildlife Homestead", 8, 749, false, "THB6BvsPn9E", "https://www.youtube.com/watch?v=THB6BvsPn9E", "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e081400 - The Life of Baby Red Foxes on The Wildlife Homestead.mkv", false, ~U[2025-08-14 13:30:53Z]] 11:15:03.263 [debug] QUERY OK source="sources" db=0.1ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.264 [debug] QUERY OK source="media_items" db=0.5ms idle=4.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-25 13:30:00Z], 8] 11:15:03.266 [debug] QUERY OK source="media_items" db=1.5ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Year three begins on The Wildlife Homestead. I build wildlife boxes for over 20 species, from owls, to songbirds, to squirrels. \n\nUPDATE to this video: https://youtu.be/rtNZSblJYoE\n\nFisher Den Box Plans: https://conservancy.umn.edu/items/9b3cff5f-1523-417a-8f7b-44f29ef254e1\nChimney Swift Tower Book: https://geni.us/ChimneySwift\nCliff Swallow Artificial Nests: https://www.swallowconservation.org/\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Built Wildlife Boxes for 20+ Species!", "bbb06c12-ab8f-46d0-a46a-8ee7012e879f", 8, [], 1094, false, "p4Gn7eR4GwA", "https://www.youtube.com/watch?v=p4Gn7eR4GwA", 4, "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e052500 - I Built Wildlife Boxes for 20+ Species!.mkv", false, false, false, 98, ~U[2025-05-25 13:30:00Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "Year three begins on The Wildlife Homestead. I build wildlife boxes for over 20 species, from owls, to songbirds, to squirrels. \n\nUPDATE to this video: https://youtu.be/rtNZSblJYoE\n\nFisher Den Box Plans: https://conservancy.umn.edu/items/9b3cff5f-1523-417a-8f7b-44f29ef254e1\nChimney Swift Tower Book: https://geni.us/ChimneySwift\nCliff Swallow Artificial Nests: https://www.swallowconservation.org/\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Built Wildlife Boxes for 20+ Species!", 8, 1094, false, "p4Gn7eR4GwA", "https://www.youtube.com/watch?v=p4Gn7eR4GwA", "/downloads/shows/TheWildlifeHomestead/Season 2025/s2025e052500 - I Built Wildlife Boxes for 20+ Species!.mkv", false, ~U[2025-05-25 13:30:00Z]] 11:15:03.266 [debug] QUERY OK source="sources" db=0.2ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.267 [debug] QUERY OK source="media_items" db=0.4ms idle=4.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-23 13:45:57Z], 8] 11:15:03.269 [debug] QUERY OK source="media_items" db=1.3ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I bought a wildlife homestead two years ago with the goal of managing the land to attract as many animals as possible. This is what happened in year two on The Wildlife Homestead.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, The Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\nTable of Contents\n0:00 - Year 1 Recap\n3:50 - Winter\n21:29 - Spring\n46:10 - Summer\n1:09:26 - Fall", "TWO YEARS of building a wildlife paradise on my land", "81c16e57-c8de-4aa0-808d-f07af69e35da", 8, [], 5004, false, "UwTzWRHkz8g", "https://www.youtube.com/watch?v=UwTzWRHkz8g", 5, "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e122300 - TWO YEARS of building a wildlife paradise on my land.mkv", false, false, false, 98, ~U[2024-12-23 13:45:57Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "I bought a wildlife homestead two years ago with the goal of managing the land to attract as many animals as possible. This is what happened in year two on The Wildlife Homestead.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, The Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\nTable of Contents\n0:00 - Year 1 Recap\n3:50 - Winter\n21:29 - Spring\n46:10 - Summer\n1:09:26 - Fall", "TWO YEARS of building a wildlife paradise on my land", 8, 5004, false, "UwTzWRHkz8g", "https://www.youtube.com/watch?v=UwTzWRHkz8g", "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e122300 - TWO YEARS of building a wildlife paradise on my land.mkv", false, ~U[2024-12-23 13:45:57Z]] 11:15:03.270 [debug] QUERY OK source="sources" db=0.2ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.270 [debug] QUERY OK source="media_items" db=0.4ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-27 17:30:00Z], 8] 11:15:03.272 [debug] QUERY OK source="media_items" db=1.2ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Six months ago, I built a wildlife pond. Today, I share the story of how the pond started and how it evolved during its first season. Great transformation!\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, The Wildlife Homestead, Building Pond, Built Wildlife Pond. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Built a Wildlife Pond (6-Month Transformation)", "9abf487f-fe15-4fba-b39a-2e9a5f96a6b5", 8, [], 992, false, "5uh_vVJ7Q0Y", "https://www.youtube.com/watch?v=5uh_vVJ7Q0Y", 6, "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e102700 - I Built a Wildlife Pond (6-Month Transformation).mkv", false, false, false, 98, ~U[2024-10-27 17:30:00Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "Six months ago, I built a wildlife pond. Today, I share the story of how the pond started and how it evolved during its first season. Great transformation!\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, The Wildlife Homestead, Building Pond, Built Wildlife Pond. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Built a Wildlife Pond (6-Month Transformation)", 8, 992, false, "5uh_vVJ7Q0Y", "https://www.youtube.com/watch?v=5uh_vVJ7Q0Y", "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e102700 - I Built a Wildlife Pond (6-Month Transformation).mkv", false, ~U[2024-10-27 17:30:00Z]] 11:15:03.273 [debug] QUERY OK source="sources" db=0.2ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.273 [debug] QUERY OK source="media_items" db=0.4ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-29 15:00:01Z], 8] 11:15:03.275 [debug] QUERY OK source="media_items" db=1.2ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Summer has arrived on the Wildlife Homestead and with it comes an interesting and unexpected nesting season for the birds!\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Eastern Bluebird nest, Tree Swallow Nest, Eastern Phoebe nest, American Robin Nest. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "The Life of Nesting Birds on The Wildlife Homestead", "69e1c8cb-76f7-4306-9df7-83688f36a59f", 8, [], 1351, false, "Rx5d3MyD_UY", "https://www.youtube.com/watch?v=Rx5d3MyD_UY", 7, "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e092900 - The Life of Nesting Birds on The Wildlife Homestead.mkv", false, false, false, 98, ~U[2024-09-29 15:00:01Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "Summer has arrived on the Wildlife Homestead and with it comes an interesting and unexpected nesting season for the birds!\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Eastern Bluebird nest, Tree Swallow Nest, Eastern Phoebe nest, American Robin Nest. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "The Life of Nesting Birds on The Wildlife Homestead", 8, 1351, false, "Rx5d3MyD_UY", "https://www.youtube.com/watch?v=Rx5d3MyD_UY", "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e092900 - The Life of Nesting Birds on The Wildlife Homestead.mkv", false, ~U[2024-09-29 15:00:01Z]] 11:15:03.276 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.277 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-10 14:15:19Z], 8] 11:15:03.278 [debug] QUERY OK source="media_items" db=1.2ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Building a vernal pond for breeding amphibians. This is episode 2 of improving habitat in and around a planted pine stand on The Wildlife Homestead.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "Building a Wildlife Pond for Amphibians", "2246e84c-4bd1-48f3-83d2-8a0779c31cd4", 8, [], 817, false, "QJw6qZ03zEg", "https://www.youtube.com/watch?v=QJw6qZ03zEg", 8, "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e061000 - Building a Wildlife Pond for Amphibians.mkv", false, false, false, 98, ~U[2024-06-10 14:15:19Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "Building a vernal pond for breeding amphibians. This is episode 2 of improving habitat in and around a planted pine stand on The Wildlife Homestead.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "Building a Wildlife Pond for Amphibians", 8, 817, false, "QJw6qZ03zEg", "https://www.youtube.com/watch?v=QJw6qZ03zEg", "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e061000 - Building a Wildlife Pond for Amphibians.mkv", false, ~U[2024-06-10 14:15:19Z]] 11:15:03.279 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.280 [debug] QUERY OK source="media_items" db=0.4ms idle=4.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-18 14:00:01Z], 8] 11:15:03.282 [debug] QUERY OK source="media_items" db=1.3ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Year two has officially begun on The Wildlife Homestead, and we're starting it by converting a pine plantation to a diverse, productive forest.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "Transforming a Pine Plantation into Wildlife Paradise", "beb5fc5a-0ab7-494f-89f7-1f77b934f9d6", 8, [], 998, false, "oy9OqFNpo98", "https://www.youtube.com/watch?v=oy9OqFNpo98", 9, "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e051800 - Transforming a Pine Plantation into Wildlife Paradise.mkv", false, false, false, 98, ~U[2024-05-18 14:00:01Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "Year two has officially begun on The Wildlife Homestead, and we're starting it by converting a pine plantation to a diverse, productive forest.\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "Transforming a Pine Plantation into Wildlife Paradise", 8, 998, false, "oy9OqFNpo98", "https://www.youtube.com/watch?v=oy9OqFNpo98", "/downloads/shows/TheWildlifeHomestead/Season 2024/s2024e051800 - Transforming a Pine Plantation into Wildlife Paradise.mkv", false, ~U[2024-05-18 14:00:01Z]] 11:15:03.282 [debug] QUERY OK source="sources" db=0.2ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.283 [debug] QUERY OK source="media_items" db=0.5ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-12-24 13:30:06Z], 8] 11:15:03.285 [debug] QUERY OK source="media_items" db=1.4ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["One year ago, we moved onto this homestead in the forest. Today, I share the whole story of the first year, including all of the wildlife on the property. Incredible year!\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Full Movie, Full Documentary, Free Documentary.\n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\nTable of Contents\n0:00 - Property Tour\n3:40 - Winter\n18:38 - Spring\n39:34 - Summer\n53:05 - Fall", "Year 1 of Building The Wildlife Homestead", "f39665af-048a-48c6-bdff-5b74bbca8dda", 8, [], 3931, false, "Szjyhr-JO40", "https://www.youtube.com/watch?v=Szjyhr-JO40", 10, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e122400 - Year 1 of Building The Wildlife Homestead.mkv", false, false, false, 98, ~U[2023-12-24 13:30:06Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "One year ago, we moved onto this homestead in the forest. Today, I share the whole story of the first year, including all of the wildlife on the property. Incredible year!\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Full Movie, Full Documentary, Free Documentary.\n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\nTable of Contents\n0:00 - Property Tour\n3:40 - Winter\n18:38 - Spring\n39:34 - Summer\n53:05 - Fall", "Year 1 of Building The Wildlife Homestead", 8, 3931, false, "Szjyhr-JO40", "https://www.youtube.com/watch?v=Szjyhr-JO40", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e122400 - Year 1 of Building The Wildlife Homestead.mkv", false, ~U[2023-12-24 13:30:06Z]] 11:15:03.286 [debug] QUERY OK source="sources" db=0.2ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.286 [debug] QUERY OK source="media_items" db=0.4ms idle=4.4ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-12-01 15:01:00Z], 8] 11:15:03.289 [debug] QUERY OK source="media_items" db=1.4ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["3 Months ago, I built this bird bathing pond and now it's time to see what's been showing up and how the pond's doing.\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "What Happened to the Bird Bathing Pond I Built?", "4fa0370a-1578-40c3-bca4-6e2cd5a75375", 8, [], 647, false, "vbE-FUE4vyM", "https://www.youtube.com/watch?v=vbE-FUE4vyM", 11, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e120100 - What Happened to the Bird Bathing Pond I Built?.mkv", false, false, false, 98, ~U[2023-12-01 15:01:00Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "3 Months ago, I built this bird bathing pond and now it's time to see what's been showing up and how the pond's doing.\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "What Happened to the Bird Bathing Pond I Built?", 8, 647, false, "vbE-FUE4vyM", "https://www.youtube.com/watch?v=vbE-FUE4vyM", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e120100 - What Happened to the Bird Bathing Pond I Built?.mkv", false, ~U[2023-12-01 15:01:00Z]] 11:15:03.289 [debug] QUERY OK source="sources" db=0.2ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.290 [debug] QUERY OK source="media_items" db=0.4ms idle=4.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-10-22 14:15:01Z], 8] 11:15:03.292 [debug] QUERY OK source="media_items" db=1.3ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I left trail cameras in the forest for 3 months, here's what they saw. Many interesting species, including one that I've dreamed about getting on my land!\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "3 Months of Trail Camera Footage on my Wildlife Homestead (SUMMER)", "1e372072-d2e3-4b8f-b8de-a37d9d99175e", 8, [], 575, false, "V4Wmks6oFyE", "https://www.youtube.com/watch?v=V4Wmks6oFyE", 12, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e102200 - 3 Months of Trail Camera Footage on my Wildlife Homestead (SUMMER).mkv", false, false, false, 98, ~U[2023-10-22 14:15:01Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "I left trail cameras in the forest for 3 months, here's what they saw. Many interesting species, including one that I've dreamed about getting on my land!\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "3 Months of Trail Camera Footage on my Wildlife Homestead (SUMMER)", 8, 575, false, "V4Wmks6oFyE", "https://www.youtube.com/watch?v=V4Wmks6oFyE", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e102200 - 3 Months of Trail Camera Footage on my Wildlife Homestead (SUMMER).mkv", false, ~U[2023-10-22 14:15:01Z]] 11:15:03.292 [debug] QUERY OK source="sources" db=0.2ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.293 [debug] QUERY OK source="media_items" db=0.4ms idle=4.2ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-08-11 14:00:14Z], 8] 11:15:03.299 [debug] QUERY OK source="media_items" db=5.1ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I built a bird bathing pond in the forest. I share the process of how I converted this empty area, into a wildlife bathing pond with multiple pools and small waterfalls. Incredible transformation!\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Building wildlife pond, I built a wildlife pond - here's what happened, nature pond, building a river, building a stream, wildlife river, wildlife stream, bird bath, bird bath build\n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Built a Bird Bathing Pond in the Forest!", "0b4461b5-523a-4e90-80c3-8d57b911628e", 8, [], 788, false, "OA4CawaODC0", "https://www.youtube.com/watch?v=OA4CawaODC0", 13, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e081100 - I Built a Bird Bathing Pond in the Forest!.mkv", false, false, false, 98, ~U[2023-08-11 14:00:14Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "I built a bird bathing pond in the forest. I share the process of how I converted this empty area, into a wildlife bathing pond with multiple pools and small waterfalls. Incredible transformation!\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nBirds Canada ▶ https://www.birdscanada.org/give\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Building wildlife pond, I built a wildlife pond - here's what happened, nature pond, building a river, building a stream, wildlife river, wildlife stream, bird bath, bird bath build\n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Built a Bird Bathing Pond in the Forest!", 8, 788, false, "OA4CawaODC0", "https://www.youtube.com/watch?v=OA4CawaODC0", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e081100 - I Built a Bird Bathing Pond in the Forest!.mkv", false, ~U[2023-08-11 14:00:14Z]] 11:15:03.299 [debug] QUERY OK source="sources" db=0.3ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.300 [debug] QUERY OK source="media_items" db=0.4ms idle=8.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-07-20 14:00:02Z], 8] 11:15:03.302 [debug] QUERY OK source="media_items" db=1.4ms idle=8.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Which species have been moving through the Wildlife Homestead over the past 3 months? And what's been happening with the baby foxes? \n\nThe two trail cameras I used to capture the footage in today's video:\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nPlantlife ▶ https://www.plantlife.org.uk/donations/one-off-donation/\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Nature\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Trail Camera footage, unseen trail camera, trail cameras, wildlife on trail cameras, nature on trail cameras, nature trail camera, wildlife footage, trails\n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\n0:00 - What's Happening Around the Wildlife Homestead\n04:29 - Trail Camera Update", "3 Months of trail cameras on my Wildlife Homestead (SPRING)", "963e7a46-9e64-4793-96fc-98ef1abc8d7c", 8, [], 844, false, "jZfSPFOeEYY", "https://www.youtube.com/watch?v=jZfSPFOeEYY", 14, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e072000 - 3 Months of trail cameras on my Wildlife Homestead (SPRING).mkv", false, false, false, 98, ~U[2023-07-20 14:00:02Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "Which species have been moving through the Wildlife Homestead over the past 3 months? And what's been happening with the baby foxes? \n\nThe two trail cameras I used to capture the footage in today's video:\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\n\nI'll be donating a portion of the AdSense earned this month to the following charity:\nPlantlife ▶ https://www.plantlife.org.uk/donations/one-off-donation/\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nMain Trail Camera ▶ https://geni.us/TrailCamera\n4K Trail Camera ▶ https://geni.us/4kTrail\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Wildlife #Nature\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Trail Camera footage, unseen trail camera, trail cameras, wildlife on trail cameras, nature on trail cameras, nature trail camera, wildlife footage, trails\n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!\n\n0:00 - What's Happening Around the Wildlife Homestead\n04:29 - Trail Camera Update", "3 Months of trail cameras on my Wildlife Homestead (SPRING)", 8, 844, false, "jZfSPFOeEYY", "https://www.youtube.com/watch?v=jZfSPFOeEYY", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e072000 - 3 Months of trail cameras on my Wildlife Homestead (SPRING).mkv", false, ~U[2023-07-20 14:00:02Z]] 11:15:03.303 [debug] QUERY OK source="sources" db=0.2ms idle=9.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.304 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-07-04 13:45:02Z], 8] 11:15:03.311 [debug] QUERY OK source="media_items" db=7.0ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["To my surprise, there's something living under my garage! I spent the past three weeks filming the family of foxes that have moved onto my Wildlife Homestead. Find out what happened!\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\nThe Cornell Lab of Ornithology ▶ https://geni.us/CornellLab\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#Wildlife #Foxes #WildlifeHomestead\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Baby Foxes, Cute foxes, red foxes, fox. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "Baby Red Foxes are living on my Wildlife Homestead!", "d64ee1c1-68c6-44c4-b394-8652d6c42036", 8, [], 596, false, "dGHJGeFu0-E", "https://www.youtube.com/watch?v=dGHJGeFu0-E", 15, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e070400 - Baby Red Foxes are living on my Wildlife Homestead!.mkv", false, false, false, 98, ~U[2023-07-04 13:45:02Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "To my surprise, there's something living under my garage! I spent the past three weeks filming the family of foxes that have moved onto my Wildlife Homestead. Find out what happened!\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\nThe Cornell Lab of Ornithology ▶ https://geni.us/CornellLab\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#Wildlife #Foxes #WildlifeHomestead\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, Baby Foxes, Cute foxes, red foxes, fox. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "Baby Red Foxes are living on my Wildlife Homestead!", 8, 596, false, "dGHJGeFu0-E", "https://www.youtube.com/watch?v=dGHJGeFu0-E", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e070400 - Baby Red Foxes are living on my Wildlife Homestead!.mkv", false, ~U[2023-07-04 13:45:02Z]] 11:15:03.312 [debug] QUERY OK source="sources" db=0.2ms idle=11.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.313 [debug] QUERY OK source="media_items" db=0.4ms idle=10.1ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-06-13 13:45:50Z], 8] 11:15:03.316 [debug] QUERY OK source="media_items" db=2.2ms idle=10.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Bird migration is the busiest, and most exciting time of the year for birders. I spent 24 hours on my wildlife homestead trying to see as many species as I could!\n\nI'll be donating a portion of the AdSense earned this month to the Canadian Red Cross to help fight the wildfires spreading through Quebec:\nhttps://www.redcross.ca/how-we-help/current-emergency-responses/2023-quebec-fires\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nTotal list of species observed at the Wildlife Homestead since we moved in 6 months ago:\n1. Alder Flycatcher\n2. American Crow\n3. American Goldfinch\n4. American Kestrel\n5. American Redstart\n6. American Robin\n7. American Tree Sparrow\n8. American Woodcock\n9. Bald Eagle\n10. Barn Swallow\n11. Barred Owl\n12. Bay-breasted Warbler\n13. Black-and-White Warbler\n14. Black-capped Chickadee\n15. Black-throated Blue Warbler\n16. Black-throated Green Warbler\n17. Blackburnian Warbler\n18. Blackpoll Warbler\n19. Blue Jay\n20. Blue-headed Vireo\n21. Boreal Chickadee\n22. Broad-winged Hawk\n23. Brown Creeper\n24. Brown Thrasher\n25. Brown-headed Cowbird\n26. Canada Goose\n27. Canada Jay\n28. Cape May Warbler\n29. Cedar Waxwing\n30. Chestnut-sided Warbler\n31. Chipping Sparrow\n32. Cliff Swallow\n33. Common Goldeneye\n34. Common Grackle\n35. Common Raven\n36. Common Redpoll\n37. Common Yellowthroat\n38. Cooper’s Hawk\n39. Dark-eyed Junco\n40. Double-crested Cormorant\n41. Downy Woodpecker\n42. Eastern Bluebird\n43. Eastern Phoebe\n44. Eastern Wood-Pewee\n45. European Starling\n46. Evening Grosbeak\n47. Fox Sparrow\n48. Golden-crowned Kinglet\n49. Gray Catbird\n50. Great Horned Owl\n51. Hairy Woodpecker\n52. Hermit Thrush\n53. Hoary Redpoll\n54. Killdeer\n55. Least Flycatcher\n56. Magnolia Warbler\n57. Mallard\n58. Merlin\n59. Mourning Warbler\n60. Nashville Warbler\n61. Northern Flicker\n62. Northern Goshawk\n63. Northern Harrier\n64. Northern Parula\n65. Northern Waterthrush\n66. Ovenbird\n67. Philadelphia Vireo\n68. Pileated Woodpecker\n69. Pine Grosbeak\n70. Pine Siskin\n71. Purple Finch\n72. Red-bellied Woodpecker\n73. Red-breasted Nuthatch\n74. Red-eyed Vireo\n75. Red-tailed Hawk\n76. Red-winged Blackbird\n77. Rose-breasted Grosbeak\n78. Ruby-crowned Kinglet\n79. Ruby-throated Hummingbird\n80. Ruffed Grouse\n81. Savannah Sparrow\n82. Sharp-shinned Hawk\n83. Snow Bunting\n84. Solitary Sandpiper\n85. Song Sparrow\n86. Swamp Sparrow\n87. Tennessee Warbler\n88. Tree Swallow\n89. Turkey Vulture\n90. White-breasted Nuthatch\n91. White-crowned Sparrow\n92. White-throated Sparrow\n93. Wild Turkey\n94. Wilson’s Snipe\n95. Winter Wren\n96. Yellow-bellied Sapsucker\n97. Yellow-rumped Warbler\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#BirdPhotography #WildlifePhotography #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through large" <> ..., "24 HOURS of Bird Migration on my Wildlife Homestead!", "450942c1-fcc8-42d2-9f33-015af4b85bc5", 8, [], 1091, false, "UqsRFTI86U8", "https://www.youtube.com/watch?v=UqsRFTI86U8", 16, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e061300 - 24 HOURS of Bird Migration on my Wildlife Homestead!.mkv", false, false, false, 98, ~U[2023-06-13 13:45:50Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "Bird migration is the busiest, and most exciting time of the year for birders. I spent 24 hours on my wildlife homestead trying to see as many species as I could!\n\nI'll be donating a portion of the AdSense earned this month to the Canadian Red Cross to help fight the wildfires spreading through Quebec:\nhttps://www.redcross.ca/how-we-help/current-emergency-responses/2023-quebec-fires\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nTotal list of species observed at the Wildlife Homestead since we moved in 6 months ago:\n1. Alder Flycatcher\n2. American Crow\n3. American Goldfinch\n4. American Kestrel\n5. American Redstart\n6. American Robin\n7. American Tree Sparrow\n8. American Woodcock\n9. Bald Eagle\n10. Barn Swallow\n11. Barred Owl\n12. Bay-breasted Warbler\n13. Black-and-White Warbler\n14. Black-capped Chickadee\n15. Black-throated Blue Warbler\n16. Black-throated Green Warbler\n17. Blackburnian Warbler\n18. Blackpoll Warbler\n19. Blue Jay\n20. Blue-headed Vireo\n21. Boreal Chickadee\n22. Broad-winged Hawk\n23. Brown Creeper\n24. Brown Thrasher\n25. Brown-headed Cowbird\n26. Canada Goose\n27. Canada Jay\n28. Cape May Warbler\n29. Cedar Waxwing\n30. Chestnut-sided Warbler\n31. Chipping Sparrow\n32. Cliff Swallow\n33. Common Goldeneye\n34. Common Grackle\n35. Common Raven\n36. Common Redpoll\n37. Common Yellowthroat\n38. Cooper’s Hawk\n39. Dark-eyed Junco\n40. Double-crested Cormorant\n41. Downy Woodpecker\n42. Eastern Bluebird\n43. Eastern Phoebe\n44. Eastern Wood-Pewee\n45. European Starling\n46. Evening Grosbeak\n47. Fox Sparrow\n48. Golden-crowned Kinglet\n49. Gray Catbird\n50. Great Horned Owl\n51. Hairy Woodpecker\n52. Hermit Thrush\n53. Hoary Redpoll\n54. Killdeer\n55. Least Flycatcher\n56. Magnolia Warbler\n57. Mallard\n58. Merlin\n59. Mourning Warbler\n60. Nashville Warbler\n61. Northern Flicker\n62. Northern Goshawk\n63. Northern Harrier\n64. Northern Parula\n65. Northern Waterthrush\n66. Ovenbird\n67. Philadelphia Vireo\n68. Pileated Woodpecker\n69. Pine Grosbeak\n70. Pine Siskin\n71. Purple Finch\n72. Red-bellied Woodpecker\n73. Red-breasted Nuthatch\n74. Red-eyed Vireo\n75. Red-tailed Hawk\n76. Red-winged Blackbird\n77. Rose-breasted Grosbeak\n78. Ruby-crowned Kinglet\n79. Ruby-throated Hummingbird\n80. Ruffed Grouse\n81. Savannah Sparrow\n82. Sharp-shinned Hawk\n83. Snow Bunting\n84. Solitary Sandpiper\n85. Song Sparrow\n86. Swamp Sparrow\n87. Tennessee Warbler\n88. Tree Swallow\n89. Turkey Vulture\n90. White-breasted Nuthatch\n91. White-crowned Sparrow\n92. White-throated Sparrow\n93. Wild Turkey\n94. Wilson’s Snipe\n95. Winter (truncated) 11:15:03.317 [debug] QUERY OK source="sources" db=0.2ms idle=12.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.317 [debug] QUERY OK source="media_items" db=0.5ms idle=5.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-05-25 13:46:02Z], 8] 11:15:03.319 [debug] QUERY OK source="media_items" db=1.3ms idle=5.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["What's living in my wildlife ponds? This is my first spring at this new property, and I explore my ponds to see which species are living there.\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\nThe Cornell Lab of Ornithology ▶ https://geni.us/CornellLab\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Birding #wildlife \n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, I built a wildlife pond - here's what happened, wildlife ponds, pond life \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Explored my Wildlife Ponds - here's what i found", "ba747c9b-742e-43f4-994e-cdda6135be9d", 8, [], 583, false, "zcDJ6XsEido", "https://www.youtube.com/watch?v=zcDJ6XsEido", 17, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e052500 - I Explored my Wildlife Ponds - here's what i found.mkv", false, false, false, 98, ~U[2023-05-25 13:46:02Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "What's living in my wildlife ponds? This is my first spring at this new property, and I explore my ponds to see which species are living there.\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\nThe Cornell Lab of Ornithology ▶ https://geni.us/CornellLab\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#WildlifeHomestead #Birding #wildlife \n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary, I built a wildlife pond - here's what happened, wildlife ponds, pond life \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "I Explored my Wildlife Ponds - here's what i found", 8, 583, false, "zcDJ6XsEido", "https://www.youtube.com/watch?v=zcDJ6XsEido", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e052500 - I Explored my Wildlife Ponds - here's what i found.mkv", false, ~U[2023-05-25 13:46:02Z]] 11:15:03.320 [debug] QUERY OK source="sources" db=0.2ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.321 [debug] QUERY OK source="media_items" db=0.4ms idle=4.8ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-04-27 13:04:40Z], 8] 11:15:03.323 [debug] QUERY OK source="media_items" db=1.3ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["With winter coming to an end, I start preparing for the busiest time of the year!\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\nThe Cornell Lab of Ornithology ▶ https://geni.us/CornellLab\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMy Second Wildlife Lens ▶ https://geni.us/Sigma100400\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#BirdPhotography #WildlifePhotography #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "Preparing for a WILD SPRING at my Wildlife Homestead", "a278231b-16b2-44ad-ac61-eb5607f62590", 8, [], 782, false, "y2F-iWIbutw", "https://www.youtube.com/watch?v=y2F-iWIbutw", 18, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e042700 - Preparing for a WILD SPRING at my Wildlife Homestead.mkv", false, false, false, 98, ~U[2023-04-27 13:04:40Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "With winter coming to an end, I start preparing for the busiest time of the year!\n\nI'll be donating a portion of the AdSense earned this month to the following charities:\nBirds Canada ▶ https://www.birdscanada.org/give\nThe Cornell Lab of Ornithology ▶ https://geni.us/CornellLab\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMy Second Wildlife Lens ▶ https://geni.us/Sigma100400\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#BirdPhotography #WildlifePhotography #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "Preparing for a WILD SPRING at my Wildlife Homestead", 8, 782, false, "y2F-iWIbutw", "https://www.youtube.com/watch?v=y2F-iWIbutw", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e042700 - Preparing for a WILD SPRING at my Wildlife Homestead.mkv", false, ~U[2023-04-27 13:04:40Z]] 11:15:03.323 [debug] QUERY OK source="sources" db=0.2ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [8] 11:15:03.324 [debug] QUERY OK source="media_items" db=0.4ms idle=4.3ms SELECT min(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-03-02 15:17:49Z], 8] 11:15:03.326 [debug] QUERY OK source="media_items" db=1.5ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Sharing the first month of exploring the property and attracting wildlife!\n\nThe two charities I'll be donating to this month are:\nThe Ocean Cleanup ▶ https://theoceancleanup.com/donate/\nNature Conservancy of Canada ▶ https://secure.natureconservancy.ca/site/Donation2?df_id=4285&mfc_pref=T&4285.donation=form1\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMy Second Wildlife Lens ▶ https://geni.us/Sigma100400\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#BirdPhotography #WildlifePhotography #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "First Month at my NEW Wildlife Homestead!", "1a0adcab-f2c6-459e-bc37-cc5837db6bcf", 8, [], 627, false, "E3pGhT_iExE", "https://www.youtube.com/watch?v=E3pGhT_iExE", 19, "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e030200 - First Month at my NEW Wildlife Homestead!.mkv", false, false, false, 98, ~U[2023-03-02 15:17:49Z], ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], "Sharing the first month of exploring the property and attracting wildlife!\n\nThe two charities I'll be donating to this month are:\nThe Ocean Cleanup ▶ https://theoceancleanup.com/donate/\nNature Conservancy of Canada ▶ https://secure.natureconservancy.ca/site/Donation2?df_id=4285&mfc_pref=T&4285.donation=form1\n\nIf you'd like to support the channel and all of the projects:\nhttps://www.youtube.com/channel/UCKq3tXnvXnA0feJYmOx9MPw/join\n\nNew to the channel? Start with The Wildlife Homestead playlist ▶ https://www.youtube.com/playlist?list=PL0-zdr3jj_vyTUSeheluDLYK3O64hNu2G\n\nFOLLOW ME\nInstagram ▶ https://geni.us/7tV2ie\n\nPHOTO GEAR\nGREAT Noise Reduction Software ▶ https://geni.us/Topaz\nSharpen Your Photos ▶ https://geni.us/sharpen\nMy Main Camera ▶ https://geni.us/alpha1cam\nMy Video Camera ▶ https://geni.us/WdpB \nWILDLIFE Lens ▶ https://geni.us/sg99l7\nMy Second Wildlife Lens ▶ https://geni.us/Sigma100400\nMonopod ▶ https://geni.us/gitzomono\nMonopod Head ▶ https://geni.us/Wimberley\nWide-Angle Lens ▶ https://geni.us/17-28\nMACRO Lens ▶ https://geni.us/90mm\nMUST HAVE Camera Strap ▶ https://geni.us/sluAsKY\nRain Sleeve ▶ https://geni.us/Stpy\nCamera Bag ▶ https://geni.us/cRZgtj\n\nVIDEO GEAR\nWhere I Get My MUSIC/Sound Effects (Get 2 Extra Months) ▶ https://geni.us/musicvid1\nTripod ▶ https://geni.us/tripodInn\nTripod Head ▶ https://geni.us/502AH\nMic ▶ https://geni.us/KcJO2\nCamera Monitor ▶ https://geni.us/atomosnin\nMy Video Gimbal ▶ https://geni.us/G4kfBf\nField Recorder ▶ https://geni.us/ZoomH\n\nFor Business Inquiries: contactstefanoianiro@gmail.com\n\n#BirdPhotography #WildlifePhotography #Birding\n\nStefano Ianiro, Nature Homestead, Wildlife Homestead, Bird Photography, Wildlife Photography, Behind-the-Scenes, Wildlife Photography Behind-the-Scenes, Wildlife Filmmaking, Wildlife Documentary, Nature Documentary. \n\n-------\nThe above may contain affiliate links. Please consider buying from your local camera store before purchasing through larger retailers. Thank you and Happy Birding!", "First Month at my NEW Wildlife Homestead!", 8, 627, false, "E3pGhT_iExE", "https://www.youtube.com/watch?v=E3pGhT_iExE", "/downloads/shows/TheWildlifeHomestead/Season 2023/s2023e030200 - First Month at my NEW Wildlife Homestead!.mkv", false, ~U[2023-03-02 15:17:49Z]] 11:15:03.327 [debug] QUERY OK source="sources" db=0.1ms idle=5.8ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z], 8] 11:15:03.328 [debug] QUERY OK source="media_items" db=0.7ms 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 ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [8] 11:15:03.329 [debug] QUERY OK source="media_items" db=0.5ms idle=4.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [8] 11:15:03.329 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [8] 11:15:03.331 [debug] QUERY OK source="tasks" db=0.2ms idle=2.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [4856, 8, ~U[2026-04-17 09:15:03Z], ~U[2026-04-17 09:15:03Z]] 11:15:03.331 [info] {"args":{"id":8},"id":4784,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":67990760,"event":"job:stop","queue_time":414650,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 11:15:33.260 [info] {"source":"oban","duration":704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:00.828 [info] {"source":"oban","duration":183,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:16:03.261 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:16:33.262 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:00.829 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:17:03.263 [info] {"source":"oban","duration":726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:17:33.264 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:00.830 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:18:03.265 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:18:33.266 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:00.831 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:19:03.267 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:33.268 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:19:41.475 [info] GET /sources/5/media/163554 11:19:41.475 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "163554", "source_id" => "5"} Pipelines: [:browser] 11:19:41.476 [debug] QUERY OK source="media_items" db=0.2ms idle=867.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" = ?) [163554] 11:19:41.476 [debug] QUERY OK source="tasks" db=0.1ms idle=867.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [163554] 11:19:41.476 [debug] QUERY OK source="sources" db=0.4ms idle=867.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 11:19:41.477 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=868.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" = ?) [4849] 11:19:41.477 [debug] QUERY OK source="settings" db=0.1ms idle=740.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:19:41.478 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:19:41.478 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:19:41.479 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:19:41.481 [info] Sent 200 in 6ms 11:19:41.735 [info] GET /sources/5/force_index 11:19:41.735 [debug] QUERY OK source="settings" db=0.2ms idle=258.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:19:41.736 [debug] QUERY OK source="settings" db=0.1ms idle=258.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:19:41.736 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:19:41.736 [error] #PID<0.673632.0> running PinchflatWeb.Endpoint (connection #PID<0.673627.0>, stream id 2) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /sources/5/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_index", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 51456}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9eda5982d9b951a8-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.235", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.235" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.673632.0>, params: %{}, path_info: ["sources", "5", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9eda5982d9b951a8-CPH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 172.68.243.235"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.68.243.235"} ], request_path: "/sources/5/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKcaYPQXPil8oX0AQxqh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_index", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 51456}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9eda5982d9b951a8-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.235", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.235" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673627.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_index", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 51456}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9eda5982d9b951a8-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.235", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.235" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.6736 (truncated) 11:20:00.832 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:20:03.269 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:33.270 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:20:56.810 [info] GET /sources/5/media/152558/edit 11:20:56.811 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "152558", "source_id" => "5"} Pipelines: [:browser] 11:20:56.811 [debug] QUERY OK source="media_items" db=0.2ms idle=996.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" = ?) [152558] 11:20:56.812 [debug] QUERY OK source="settings" db=0.1ms idle=191.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:20:56.812 [debug] QUERY OK source="settings" db=0.1ms idle=191.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:20:56.812 [debug] QUERY OK source="settings" db=0.1ms idle=192.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:20:56.814 [info] Sent 200 in 3ms 11:20:59.178 [info] GET /media/21ede868-f540-448e-80e3-3422c200931d/stream 11:20:59.178 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "21ede868-f540-448e-80e3-3422c200931d"} Pipelines: [:maybe_basic_auth] 11:20:59.179 [debug] QUERY OK source="media_items" db=0.4ms idle=558.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["21ede868-f540-448e-80e3-3422c200931d"] 11:20:59.180 [debug] Invalid range request for media item: 21ede868-f540-448e-80e3-3422c200931d - serving full file 11:20:59.180 [info] Sent 200 in 2ms 11:20:59.376 [info] GET /sources/5/force_metadata_refresh 11:20:59.377 [debug] QUERY OK source="settings" db=0.2ms idle=756.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:20:59.377 [debug] QUERY OK source="settings" db=0.1ms idle=757.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:20:59.377 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:20:59.378 [error] #PID<0.673643.0> running PinchflatWeb.Endpoint (connection #PID<0.673642.0>, stream id 1) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /sources/5/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673642.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_metadata_refresh", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 44224}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9eda5b672a093334-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.235", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.235" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.673643.0>, params: %{}, path_info: ["sources", "5", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9eda5b672a093334-CPH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 172.68.243.235"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.68.243.235"} ], request_path: "/sources/5/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKcacwfh9EmypSUAPLgC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673642.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_metadata_refresh", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 44224}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9eda5b672a093334-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.235", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.235" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673642.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_metadata_refresh", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 44224}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9eda5b672a093334-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.235", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.235" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, (truncated) 11:21:00.833 [info] {"source":"oban","duration":153,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:21:03.271 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:33.272 [info] {"source":"oban","duration":686,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:21:52.155 [info] GET /sources/5/media/146876 11:21:52.155 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "146876", "source_id" => "5"} Pipelines: [:browser] 11:21:52.156 [debug] QUERY OK source="media_items" db=0.2ms idle=1534.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" = ?) [146876] 11:21:52.156 [debug] QUERY OK source="tasks" db=0.2ms idle=1535.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [146876] 11:21:52.157 [debug] QUERY OK source="sources" db=0.5ms idle=1535.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 11:21:52.157 [debug] QUERY OK source="settings" db=0.1ms idle=1286.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:21:52.158 [debug] QUERY OK source="settings" db=0.1ms idle=285.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:21:52.158 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:21:52.159 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:21:52.161 [info] Sent 200 in 5ms 11:22:00.834 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:22:03.273 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:22:10.809 [info] GET /sources/5/media/149217/edit 11:22:10.809 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "149217", "source_id" => "5"} Pipelines: [:browser] 11:22:10.809 [debug] QUERY OK source="media_items" db=0.3ms idle=1188.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" = ?) [149217] 11:22:10.810 [debug] QUERY OK source="settings" db=0.1ms idle=1188.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:22:10.810 [debug] QUERY OK source="settings" db=0.1ms idle=919.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:22:10.811 [debug] QUERY OK source="settings" db=0.1ms idle=189.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:22:10.812 [info] Sent 200 in 3ms 11:22:33.274 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:00.835 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:23:03.275 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:33.276 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:23:53.287 [info] GET /sources/5/media/152558 11:23:53.287 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "152558", "source_id" => "5"} Pipelines: [:browser] 11:23:53.287 [info] GET /sources/5/media/151155/edit 11:23:53.288 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "151155", "source_id" => "5"} Pipelines: [:browser] 11:23:53.288 [debug] QUERY OK source="media_items" db=0.6ms idle=666.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" = ?) [152558] 11:23:53.289 [debug] QUERY OK source="media_items" db=0.8ms idle=666.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" = ?) [151155] 11:23:53.290 [debug] QUERY OK source="tasks" db=0.5ms queue=0.5ms idle=667.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [152558] 11:23:53.291 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=292.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 11:23:53.291 [debug] QUERY OK source="settings" db=1.9ms queue=0.2ms idle=667.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:53.293 [debug] QUERY OK source="settings" db=0.7ms 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 [] 11:23:53.293 [debug] QUERY OK source="settings" db=0.9ms queue=1.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:53.295 [debug] QUERY OK source="settings" db=0.8ms 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 [] 11:23:53.295 [debug] QUERY OK source="settings" db=1.1ms queue=0.9ms 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 [] 11:23:53.298 [debug] QUERY OK source="settings" db=1.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 [] 11:23:53.300 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:23:53.300 [info] Sent 200 in 12ms 11:23:53.302 [info] Sent 200 in 15ms 11:23:53.889 [info] GET /sources/5/media/145923/edit 11:23:53.889 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "145923", "source_id" => "5"} Pipelines: [:browser] 11:23:53.893 [debug] QUERY OK source="media_items" db=0.2ms idle=599.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" = ?) [145923] 11:23:53.893 [debug] QUERY OK source="settings" db=0.1ms idle=597.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:53.893 [debug] QUERY OK source="settings" db=0.1ms idle=597.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:53.894 [debug] QUERY OK source="settings" db=0.1ms idle=596.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:23:53.895 [info] Sent 200 in 6ms 11:24:00.836 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:24:03.277 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:20.960 [info] GET /sources/5/media/162565 11:24:20.960 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "162565", "prevent_download" => "true", "source_id" => "5"} Pipelines: [:browser] 11:24:20.961 [debug] QUERY OK source="media_items" db=0.2ms idle=1339.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" = ?) [162565] 11:24:20.961 [debug] QUERY OK source="tasks" db=0.1ms idle=1339.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [162565] 11:24:20.961 [debug] QUERY OK source="sources" db=0.2ms idle=936.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 11:24:20.962 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=340.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" IN (?,?)) [4828, 4843] 11:24:20.962 [debug] QUERY OK source="settings" db=0.0ms idle=341.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:20.963 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:20.963 [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 [] 11:24:20.964 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:24:20.966 [info] Sent 200 in 6ms 11:24:23.006 [info] GET /sources/5/force_download_pending 11:24:23.007 [debug] QUERY OK source="settings" db=0.3ms idle=979.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:23.007 [debug] QUERY OK source="settings" db=0.1ms idle=386.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:23.007 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:24:23.008 [error] #PID<0.673682.0> running PinchflatWeb.Endpoint (connection #PID<0.673677.0>, stream id 2) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /sources/5/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_download_pending", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 45100}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9eda60611eb23014-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.26", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.26" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.673682.0>, params: %{}, path_info: ["sources", "5", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9eda60611eb23014-CMH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 162.159.115.26"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "162.159.115.26"} ], request_path: "/sources/5/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKcaonEt2FVidQYAPLnC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_download_pending", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 45100}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9eda60611eb23014-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.26", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.26" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673677.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/force_download_pending", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 45100}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9eda60611eb23014-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.26", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.26" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, (truncated) 11:24:33.278 [info] {"source":"oban","duration":700,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:24:54.848 [info] GET /sources/5/media/146876/edit 11:24:54.849 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "146876", "source_id" => "5"} Pipelines: [:browser] 11:24:54.849 [info] GET /sources/5/media/154511/edit 11:24:54.849 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "154511", "source_id" => "5"} Pipelines: [:browser] 11:24:54.849 [debug] QUERY OK source="media_items" db=0.2ms idle=227.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" = ?) [154511] 11:24:54.850 [debug] QUERY OK source="settings" db=0.1ms idle=228.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:54.850 [debug] QUERY OK source="media_items" db=1.1ms idle=775.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" = ?) [146876] 11:24:54.850 [debug] QUERY OK source="settings" db=0.3ms idle=228.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:54.851 [debug] QUERY OK source="settings" db=0.5ms idle=229.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:54.851 [debug] QUERY OK source="settings" db=0.3ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:24:54.852 [debug] QUERY OK source="settings" db=0.9ms 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 [] 11:24:54.853 [debug] QUERY OK source="settings" db=0.5ms 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 [] 11:24:54.854 [info] Sent 200 in 5ms 11:24:54.854 [info] Sent 200 in 5ms 11:25:00.837 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:25:03.279 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:25:33.280 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:00.838 [info] {"source":"oban","duration":217,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:26:03.281 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:26:07.544 [info] GET /sources/5/media/154511 11:26:07.544 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "154511", "source_id" => "5"} Pipelines: [:browser] 11:26:07.544 [info] GET /sources/5/media/155929/edit 11:26:07.544 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "155929", "source_id" => "5"} Pipelines: [:browser] 11:26:07.545 [debug] QUERY OK source="media_items" db=0.4ms idle=923.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" = ?) [155929] 11:26:07.545 [debug] QUERY OK source="media_items" db=1.0ms idle=923.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" = ?) [154511] 11:26:07.546 [debug] QUERY OK source="settings" db=0.6ms idle=924.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:07.547 [debug] QUERY OK source="tasks" db=1.2ms idle=924.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [154511] 11:26:07.547 [debug] QUERY OK source="sources" db=1.2ms idle=393.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 11:26:07.547 [debug] QUERY OK source="settings" db=0.4ms queue=0.5ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:07.548 [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 [] 11:26:07.548 [debug] QUERY OK source="settings" db=0.1ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:07.548 [debug] QUERY OK source="settings" db=0.4ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:07.549 [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 [] 11:26:07.549 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:26:07.549 [info] Sent 200 in 5ms 11:26:07.551 [info] Sent 200 in 7ms 11:26:08.104 [info] GET /sources/5/media/155929 11:26:08.105 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "155929", "source_id" => "5"} Pipelines: [:browser] 11:26:08.105 [debug] QUERY OK source="media_items" db=0.2ms idle=557.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" = ?) [155929] 11:26:08.106 [debug] QUERY OK source="tasks" db=0.1ms idle=557.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" [155929] 11:26:08.106 [debug] QUERY OK source="sources" db=0.1ms idle=557.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 11:26:08.106 [debug] QUERY OK source="settings" db=0.1ms idle=557.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:08.107 [debug] QUERY OK source="settings" db=0.1ms idle=557.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:26:08.107 [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 [] 11:26:08.108 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:26:08.110 [info] Sent 200 in 5ms 11:26:33.282 [info] {"source":"oban","duration":671,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:00.839 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:27:03.282 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:33.284 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:27:47.571 [info] GET /sources/5/media/153529/edit 11:27:47.571 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "153529", "source_id" => "5"} Pipelines: [:browser] 11:27:47.571 [info] GET /sources/5/media/162565/force_download 11:27:47.571 [debug] QUERY OK source="media_items" db=0.2ms idle=949.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" = ?) [153529] 11:27:47.572 [debug] QUERY OK source="settings" db=0.4ms idle=950.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:47.572 [debug] QUERY OK source="settings" db=0.1ms idle=950.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:47.572 [debug] QUERY OK source="settings" db=0.2ms idle=950.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:47.572 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 11:27:47.572 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=314.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:47.573 [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 [] 11:27:47.575 [info] Sent 200 in 4ms 11:27:47.573 [error] #PID<0.673721.0> running PinchflatWeb.Endpoint (connection #PID<0.673719.0>, stream id 1) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /sources/5/media/162565/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/162565/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673719.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/162565/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 40656}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9eda655fab6f8020-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.26", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.26" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.673721.0>, params: %{}, path_info: ["sources", "5", "media", "162565", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9eda655fab6f8020-CMH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 162.159.115.26"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "162.159.115.26"} ], request_path: "/sources/5/media/162565/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKca0hIr16wadSUAQxzB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673719.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/162565/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 40656}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9eda655fab6f8020-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.26", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.26" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/162565/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673719.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/162565/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 40656}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9eda655fab6f8020-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.26", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.26" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, coo (truncated) 11:27:48.192 [info] GET /sources/5/media/147831 11:27:48.192 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "147831", "source_id" => "5"} Pipelines: [:browser] 11:27:48.193 [debug] QUERY OK source="media_items" db=0.2ms idle=621.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" = ?) [147831] 11:27:48.194 [debug] QUERY OK source="tasks" db=0.1ms idle=622.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [147831] 11:27:48.194 [debug] QUERY OK source="sources" db=0.4ms idle=622.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 11:27:48.195 [debug] QUERY OK source="settings" db=0.2ms idle=622.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:48.196 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=622.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:48.196 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:27:48.198 [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] 11:27:48.200 [info] Sent 200 in 7ms 11:28:00.840 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:28:03.284 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:28:33.286 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:00.841 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:29:03.287 [info] {"source":"oban","duration":768,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:09.750 [info] GET /sources/5/media/153529 11:29:09.750 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "153529", "source_id" => "5"} Pipelines: [:browser] 11:29:09.750 [debug] QUERY OK source="media_items" db=0.2ms idle=1121.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [153529] 11:29:09.751 [debug] QUERY OK source="tasks" db=0.1ms idle=1122.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [153529] 11:29:09.751 [debug] QUERY OK source="sources" db=0.3ms idle=1122.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 11:29:09.752 [debug] QUERY OK source="settings" db=0.1ms idle=1123.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:29:09.752 [debug] QUERY OK source="settings" db=0.1ms idle=410.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:29:09.752 [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 [] 11:29:09.753 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:29:09.755 [info] Sent 200 in 5ms 11:29:33.288 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:29:48.786 [info] GET /sources/5/media/145923 11:29:48.786 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "145923", "source_id" => "5"} Pipelines: [:browser] 11:29:48.786 [debug] QUERY OK source="media_items" db=0.2ms idle=1157.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" = ?) [145923] 11:29:48.787 [debug] QUERY OK source="tasks" db=0.1ms idle=1158.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [145923] 11:29:48.787 [debug] QUERY OK source="sources" db=0.2ms idle=1158.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 11:29:48.787 [debug] QUERY OK source="settings" db=0.1ms idle=406.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:29:48.788 [debug] QUERY OK source="settings" db=0.1ms idle=159.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:29:48.788 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:29:48.789 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 11:29:48.791 [info] Sent 200 in 4ms 11:30:00.842 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:30:03.289 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:30:33.290 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:00.843 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:31:03.291 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:31:33.292 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:00.844 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:32:03.293 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:32:33.294 [info] {"source":"oban","duration":810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:00.845 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:33:03.295 [info] {"source":"oban","duration":777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:33:33.296 [info] {"source":"oban","duration":809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:00.846 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:34:03.298 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:34:33.299 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:00.847 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:35:03.300 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:35:33.301 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:00.848 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:36:03.302 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:36:33.303 [info] {"source":"oban","duration":702,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:00.849 [info] {"source":"oban","duration":121,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:37:03.304 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:37:33.305 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:00.850 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:38:03.306 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:38:33.307 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:00.851 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:39:03.308 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:39:33.309 [info] {"source":"oban","duration":1060,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":1} 11:40:00.852 [info] {"source":"oban","duration":232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:40:03.311 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:40:33.312 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:00.853 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:41:03.313 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:41:33.314 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:00.854 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:42:03.315 [info] {"source":"oban","duration":676,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:42:33.316 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:00.855 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:43:03.316 [info] {"source":"oban","duration":561,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:43:33.318 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:00.856 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:44:03.319 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:44:33.319 [info] {"source":"oban","duration":533,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:00.857 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:45:03.321 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:45:33.322 [info] {"source":"oban","duration":757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:00.858 [info] {"source":"oban","duration":205,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:46:03.323 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:46:33.324 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:00.859 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:47:03.325 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:47:33.326 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:00.860 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:48:03.327 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:48:33.328 [info] {"source":"oban","duration":725,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:00.861 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:49:03.329 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:49:33.330 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:00.862 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:50:03.331 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:50:33.332 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:00.863 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:51:03.333 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:51:33.334 [info] {"source":"oban","duration":722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:00.864 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:52:03.335 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:52:33.336 [info] {"source":"oban","duration":767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:00.865 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:53:03.337 [info] {"source":"oban","duration":675,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:53:33.338 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:00.866 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:54:03.339 [info] {"source":"oban","duration":713,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:54:33.340 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:00.867 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:55:03.341 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:55:33.342 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:00.868 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:56:03.343 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:56:33.344 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:00.869 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:57:03.345 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:57:33.346 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:00.870 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:58:03.347 [info] {"source":"oban","duration":670,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:58:33.348 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:00.871 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 11:59:03.349 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:33.350 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 11:59:55.255 [info] GET /app_info 11:59:55.284 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 11:59:55.286 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1014.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:59:55.287 [debug] QUERY OK source="settings" db=0.2ms idle=648.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:59:55.288 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=649.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:59:55.289 [debug] QUERY OK source="settings" db=0.1ms idle=650.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 11:59:55.289 [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 [] 11:59:55.290 [info] Sent 200 in 35ms 12:00:00.872 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:00:03.351 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:00:33.351 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:00.873 [info] {"source":"oban","duration":234,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:01:03.353 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:01:33.354 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:00.874 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:02:03.355 [info] {"source":"oban","duration":818,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:02:19.487 [info] GET /sources/5/media/159160/force_download 12:02:19.488 [debug] QUERY OK source="settings" db=0.2ms idle=849.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:02:19.488 [debug] QUERY OK source="settings" db=0.2ms idle=850.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:02:19.488 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:02:19.489 [error] #PID<0.673928.0> running PinchflatWeb.Endpoint (connection #PID<0.673927.0>, stream id 1) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /sources/5/media/159160/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/159160/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673927.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/159160/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 35614}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9eda97f3bbc3a5f3-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.25", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.25" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.673928.0>, params: %{}, path_info: ["sources", "5", "media", "159160", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9eda97f3bbc3a5f3-CMH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 162.159.115.25"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "162.159.115.25"} ], request_path: "/sources/5/media/159160/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKcctHoENianThcAQyCB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673927.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/159160/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 35614}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9eda97f3bbc3a5f3-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.25", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.25" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/159160/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673927.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/159160/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 35614}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9eda97f3bbc3a5f3-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.25", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.25" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, coo (truncated) 12:02:33.356 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:00.875 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:03:03.357 [info] {"source":"oban","duration":711,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:03:27.083 [info] GET /settings 12:03:27.083 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 12:03:27.083 [debug] QUERY OK source="settings" db=0.2ms idle=577.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:03:27.084 [debug] QUERY OK source="settings" db=0.1ms idle=445.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:03:27.084 [debug] QUERY OK source="settings" db=0.1ms idle=445.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:03:27.085 [debug] QUERY OK source="settings" db=0.1ms idle=446.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:03:27.097 [info] Sent 200 in 14ms 12:03:33.358 [info] {"source":"oban","duration":784,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:00.876 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:04:03.360 [info] {"source":"oban","duration":837,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:04:33.362 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:00.877 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:05:03.363 [info] {"source":"oban","duration":715,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:05:33.364 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:00.878 [info] {"source":"oban","duration":223,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:06:03.365 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:06:33.366 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:00.879 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:07:03.367 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:07:33.368 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:00.880 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:08:03.369 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:08:33.370 [info] {"source":"oban","duration":798,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:00.881 [info] {"source":"oban","duration":162,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:09:03.371 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:09:20.975 [info] GET /media_profiles/1 12:09:20.975 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 12:09:20.977 [debug] QUERY OK source="media_profiles" db=0.2ms idle=326.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_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] 12:09:20.977 [debug] QUERY OK source="sources" db=0.3ms idle=327.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", 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] 12:09:20.979 [debug] QUERY OK source="settings" db=0.1ms idle=328.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:09:20.979 [debug] QUERY OK source="settings" db=0.1ms idle=328.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:09:20.980 [debug] QUERY OK source="settings" db=0.1ms idle=101.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:09:20.985 [info] Sent 200 in 10ms 12:09:33.372 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:00.882 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:10:03.373 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:10:33.374 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:00.883 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:11:03.375 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:11:11.597 [info] GET /sitemap.xml 12:11:11.598 [debug] QUERY OK source="settings" db=1.0ms idle=946.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:11:11.599 [debug] QUERY OK source="settings" db=0.3ms idle=948.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:11:11.599 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:11:11.599 [error] #PID<0.673982.0> running PinchflatWeb.Endpoint (connection #PID<0.673981.0>, stream id 1) terminated Server: content.andreas-larsen.dk: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.673981.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 59394}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edaa4f2aad1258a-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.235", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.235" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.673982.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://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9edaa4f2aad1258a-CPH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 172.68.243.235"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.68.243.235"} ], request_path: "/sitemap.xml", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKcdMF4z6sDkEmgAQyKB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.673981.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 59394}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edaa4f2aad1258a-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.235", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.235" }, method: "GET", path_info: :undefined, body_length: 0, 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.673981.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sitemap.xml", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 59394}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edaa4f2aad1258a-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.235", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.235" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.673982.0>, params: %{}, path_info: ["sitemap"], path_params: %{}, (truncated) 12:11:33.376 [info] {"source":"oban","duration":840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:00.884 [info] {"source":"oban","duration":266,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:12:03.378 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:12:33.379 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:00.885 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:13:03.380 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:13:33.381 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:00.886 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:14:03.382 [info] {"source":"oban","duration":775,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:14:33.383 [info] {"source":"oban","duration":799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:00.887 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:15:03.384 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:15:33.385 [info] {"source":"oban","duration":652,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:00.888 [info] {"source":"oban","duration":194,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:16:03.386 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:16:33.387 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:00.889 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:17:03.387 [info] {"source":"oban","duration":480,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:17:33.389 [info] {"source":"oban","duration":712,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:00.890 [info] {"source":"oban","duration":232,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:18:03.390 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:18:33.391 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:00.891 [info] {"source":"oban","duration":227,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:19:03.392 [info] {"source":"oban","duration":682,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:19:33.393 [info] {"source":"oban","duration":752,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:00.892 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:20:03.394 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:20:33.395 [info] {"source":"oban","duration":792,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:00.893 [info] {"source":"oban","duration":216,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:21:03.396 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:21:33.397 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:00.894 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:22:03.398 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:22:33.399 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:00.895 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:23:03.400 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:23:33.401 [info] {"source":"oban","duration":735,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:00.896 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:24:03.402 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:24:33.403 [info] {"source":"oban","duration":738,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:00.897 [info] {"source":"oban","duration":118,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:25:03.404 [info] {"source":"oban","duration":678,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:25:33.405 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:00.898 [info] {"source":"oban","duration":245,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:26:03.406 [info] {"source":"oban","duration":681,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:26:33.407 [info] {"source":"oban","duration":753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:00.899 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:27:03.408 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:27:33.409 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:00.900 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:28:03.410 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:28:33.411 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:00.901 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:29:03.412 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:29:33.413 [info] {"source":"oban","duration":724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:00.902 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:30:03.414 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:30:34.376 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:01.864 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:31:04.377 [info] {"source":"oban","duration":683,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:31:27.856 [info] GET /sources/5/media/154511/force_download 12:31:27.858 [debug] QUERY OK source="settings" db=1.0ms idle=1243.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:31:27.859 [debug] QUERY OK source="settings" db=0.5ms idle=581.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:31:27.859 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:31:27.859 [error] #PID<0.674097.0> running PinchflatWeb.Endpoint (connection #PID<0.674095.0>, stream id 2) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /sources/5/media/154511/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/154511/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674095.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/154511/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 47424}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edac29c8e417929-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 104.23.197.87", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.197.87" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.674097.0>, params: %{}, path_info: ["sources", "5", "media", "154511", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9edac29c8e417929-CMH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 104.23.197.87"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "104.23.197.87"} ], request_path: "/sources/5/media/154511/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKceS4zwFdR7UJUAPMbi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674095.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/154511/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 47424}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edac29c8e417929-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 104.23.197.87", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.197.87" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/154511/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674095.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/154511/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 47424}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edac29c8e417929-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 104.23.197.87", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "104.23.197.87" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ (truncated) 12:31:28.061 [info] GET /sources/5/media/155929/force_download 12:31:28.061 [debug] QUERY OK source="settings" db=0.3ms idle=439.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:31:28.062 [debug] QUERY OK source="settings" db=0.3ms queue=0.3ms idle=439.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:31:28.062 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:31:28.064 [error] #PID<0.674098.0> running PinchflatWeb.Endpoint (connection #PID<0.674095.0>, stream id 3) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /sources/5/media/155929/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/155929/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674095.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/155929/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 47424}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edac29faa9e7929-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.236", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.236" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.674098.0>, params: %{}, path_info: ["sources", "5", "media", "155929", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9edac29faa9e7929-CPH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 172.68.243.236"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.68.243.236"} ], request_path: "/sources/5/media/155929/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKceS5kbSloOE1QAPMcC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674095.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/155929/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 47424}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edac29faa9e7929-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.236", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.236" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/155929/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674095.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/155929/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 47424}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edac29faa9e7929-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.236", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.236" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 3, host_info: :undefined }}, assigns: %{}, body_params: %{}, coo (truncated) 12:31:34.378 [info] {"source":"oban","duration":786,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:00.865 [info] {"source":"oban","duration":188,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:32:04.378 [info] {"source":"oban","duration":625,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:32:24.812 [info] GET /sources/5/media/163554 12:32:24.812 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "163554", "prevent_download" => "true", "source_id" => "5"} Pipelines: [:browser] 12:32:24.812 [debug] QUERY OK source="media_items" db=0.2ms idle=1190.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" = ?) [163554] 12:32:24.813 [debug] QUERY OK source="tasks" db=0.2ms idle=1190.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [163554] 12:32:24.813 [debug] QUERY OK source="sources" db=0.2ms idle=1190.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 12:32:24.813 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1191.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" = ?) [4849] 12:32:24.814 [debug] QUERY OK source="settings" db=0.1ms idle=479.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:32:24.814 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:32:24.815 [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 [] 12:32:24.815 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:32:24.817 [info] Sent 200 in 5ms 12:32:34.379 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:00.093 [info] GET /sources/5/media/146876 12:33:00.093 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "146876", "prevent_download" => "true", "source_id" => "5"} Pipelines: [:browser] 12:33:00.094 [debug] QUERY OK source="media_items" db=0.2ms idle=1471.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" = ?) [146876] 12:33:00.094 [debug] QUERY OK source="tasks" db=0.2ms idle=1472.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" [146876] 12:33:00.095 [debug] QUERY OK source="sources" db=0.3ms idle=1472.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 12:33:00.095 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=724.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:33:00.096 [debug] QUERY OK source="settings" db=0.1ms idle=473.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:33:00.096 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:33:00.097 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:33:00.099 [info] Sent 200 in 5ms 12:33:00.212 [info] GET /sources/5/media/152558/force_download 12:33:00.213 [debug] QUERY OK source="settings" db=0.1ms idle=117.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:33:00.213 [debug] QUERY OK source="settings" db=0.1ms idle=117.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:33:00.213 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:33:00.214 [error] #PID<0.674118.0> running PinchflatWeb.Endpoint (connection #PID<0.674113.0>, stream id 2) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /sources/5/media/152558/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/152558/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674113.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/152558/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 33918}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edac4dfe9f5610f-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.236", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.236" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.674118.0>, params: %{}, path_info: ["sources", "5", "media", "152558", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9edac4dfe9f5610f-CPH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 172.68.243.236"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.68.243.236"} ], request_path: "/sources/5/media/152558/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKceYQ3ERj4q8gUAPMfi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674113.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/152558/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 33918}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edac4dfe9f5610f-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.236", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.236" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/152558/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674113.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/152558/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 33918}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edac4dfe9f5610f-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.236", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.236" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 2, host_info: :undefined }}, assigns: %{}, body_params: %{}, coo (truncated) 12:33:00.866 [info] {"source":"oban","duration":213,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:33:04.380 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:33:34.382 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:00.867 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:34:04.383 [info] {"source":"oban","duration":800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:34:34.384 [info] {"source":"oban","duration":748,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:00.868 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:35:04.385 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:35:34.386 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:00.869 [info] {"source":"oban","duration":204,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:36:04.387 [info] {"source":"oban","duration":794,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:36:07.496 [info] GET /sources/5/media/163554/force_download 12:36:07.497 [debug] QUERY OK source="settings" db=0.4ms idle=1874.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:07.497 [debug] QUERY OK source="settings" db=0.1ms idle=1875.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:36:07.497 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:36:07.498 [error] #PID<0.674136.0> running PinchflatWeb.Endpoint (connection #PID<0.674135.0>, stream id 1) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /sources/5/media/163554/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/163554/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674135.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/163554/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 41098}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edac97228cdfad4-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.236", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.236" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.674136.0>, params: %{}, path_info: ["sources", "5", "media", "163554", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9edac97228cdfad4-CPH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 172.68.243.236"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.68.243.236"} ], request_path: "/sources/5/media/163554/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKcejKjC3E0DcboAPMjC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674135.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/163554/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 41098}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edac97228cdfad4-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.236", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.236" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/163554/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674135.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/163554/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 41098}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edac97228cdfad4-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.236", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.236" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, coo (truncated) 12:36:34.388 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:00.870 [info] {"source":"oban","duration":240,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:37:04.389 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:37:25.128 [info] GET /media/c9906966-baa3-4ba1-bacf-6cd851f1f2b0/stream 12:37:25.128 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "c9906966-baa3-4ba1-bacf-6cd851f1f2b0"} Pipelines: [:maybe_basic_auth] 12:37:25.129 [debug] QUERY OK source="media_items" db=0.4ms idle=1506.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["c9906966-baa3-4ba1-bacf-6cd851f1f2b0"] 12:37:25.129 [debug] Invalid range request for media item: c9906966-baa3-4ba1-bacf-6cd851f1f2b0 - serving full file 12:37:25.129 [info] Sent 200 in 1ms 12:37:34.390 [info] {"source":"oban","duration":813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:00.871 [info] {"source":"oban","duration":190,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:38:04.391 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:38:12.437 [info] GET /sources/5/media/152558 12:38:12.438 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "152558", "prevent_download" => "true", "source_id" => "5"} Pipelines: [:browser] 12:38:12.438 [debug] QUERY OK source="media_items" db=0.3ms idle=815.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" = ?) [152558] 12:38:12.439 [debug] QUERY OK source="sources" db=0.2ms idle=816.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 12:38:12.439 [debug] QUERY OK source="tasks" db=0.3ms idle=816.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [152558] 12:38:12.440 [debug] QUERY OK source="settings" db=0.2ms idle=817.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:12.440 [debug] QUERY OK source="settings" db=0.1ms idle=723.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:12.441 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:12.442 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:38:12.443 [info] Sent 200 in 5ms 12:38:19.207 [info] GET /sources/5/media/155929 12:38:19.208 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "155929", "prevent_download" => "true", "source_id" => "5"} Pipelines: [:browser] 12:38:19.208 [debug] QUERY OK source="media_items" db=0.2ms idle=1585.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" = ?) [155929] 12:38:19.209 [debug] QUERY OK source="tasks" db=0.3ms idle=1586.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [155929] 12:38:19.209 [debug] QUERY OK source="sources" db=0.3ms idle=1586.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 12:38:19.209 [debug] QUERY OK source="settings" db=0.1ms idle=1486.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:19.210 [debug] QUERY OK source="settings" db=0.1ms idle=485.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:19.210 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:38:19.211 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:38:19.212 [info] Sent 200 in 5ms 12:38:34.392 [info] {"source":"oban","duration":717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:00.872 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:39:04.392 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:39:34.394 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:00.873 [info] {"source":"oban","duration":106,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:40:04.395 [info] {"source":"oban","duration":751,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:34.396 [info] {"source":"oban","duration":687,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:40:51.411 [info] GET /sources/5/media/154511 12:40:51.411 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "154511", "prevent_download" => "true", "source_id" => "5"} Pipelines: [:browser] 12:40:51.412 [debug] QUERY OK source="media_items" db=0.2ms idle=1786.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" = ?) [154511] 12:40:51.412 [debug] QUERY OK source="tasks" db=0.2ms idle=1787.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [154511] 12:40:51.413 [debug] QUERY OK source="sources" db=0.4ms idle=1787.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 12:40:51.413 [debug] QUERY OK source="settings" db=0.1ms idle=1533.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:40:51.413 [debug] QUERY OK source="settings" db=0.1ms idle=532.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:40:51.414 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:40:51.415 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:40:51.416 [info] Sent 200 in 5ms 12:41:00.874 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:41:04.397 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:34.398 [info] {"source":"oban","duration":689,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:41:37.619 [info] GET /sources/5/media/146876/force_download 12:41:37.619 [debug] QUERY OK source="settings" db=0.3ms idle=1994.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:41:37.620 [debug] QUERY OK source="settings" db=0.1ms idle=1693.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:41:37.620 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:41:37.620 [error] #PID<0.674185.0> running PinchflatWeb.Endpoint (connection #PID<0.674184.0>, stream id 1) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /sources/5/media/146876/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/146876/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/146876/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 39916}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edad17ffed4ea0a-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.26", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.26" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.674185.0>, params: %{}, path_info: ["sources", "5", "media", "146876", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9edad17ffed4ea0a-CMH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 162.159.115.26"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "162.159.115.26"} ], request_path: "/sources/5/media/146876/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKce2YWY8Ut5Wc4APMqi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/146876/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 39916}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edad17ffed4ea0a-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.26", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.26" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/146876/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674184.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/146876/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 39916}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edad17ffed4ea0a-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.26", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.26" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, coo (truncated) 12:42:00.875 [info] {"source":"oban","duration":192,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:42:04.399 [info] {"source":"oban","duration":705,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:42:34.400 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:00.876 [info] {"source":"oban","duration":193,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:43:04.400 [info] {"source":"oban","duration":696,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:43:34.402 [info] {"source":"oban","duration":709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:00.877 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:44:04.403 [info] {"source":"oban","duration":690,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:44:34.404 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:00.878 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:45:04.405 [info] {"source":"oban","duration":674,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:45:32.139 [info] GET /sources/5/media/145923 12:45:32.139 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "145923", "prevent_download" => "true", "source_id" => "5"} Pipelines: [:browser] 12:45:32.140 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=970.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" = ?) [145923] 12:45:32.140 [debug] QUERY OK source="tasks" db=0.1ms idle=515.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [145923] 12:45:32.140 [debug] QUERY OK source="sources" db=0.2ms idle=515.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 12:45:32.141 [debug] QUERY OK source="settings" db=0.0ms idle=515.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:45:32.141 [debug] QUERY OK source="settings" db=0.1ms idle=516.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:45:32.142 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:45:32.142 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:45:32.144 [info] Sent 200 in 5ms 12:45:34.406 [info] {"source":"oban","duration":691,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:00.879 [info] {"source":"oban","duration":191,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:46:04.407 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:46:34.408 [info] {"source":"oban","duration":684,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:00.880 [info] {"source":"oban","duration":186,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:47:04.409 [info] {"source":"oban","duration":718,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:47:28.354 [info] GET /sources/5/media/145923/force_download 12:47:28.354 [debug] QUERY OK source="settings" db=0.1ms idle=727.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:47:28.355 [debug] QUERY OK source="settings" db=0.1ms idle=727.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:47:28.355 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:47:28.355 [error] #PID<0.674225.0> running PinchflatWeb.Endpoint (connection #PID<0.674224.0>, stream id 1) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /sources/5/media/145923/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/145923/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674224.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/145923/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 47686}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edada11884e97b7-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.235", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.235" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.674225.0>, params: %{}, path_info: ["sources", "5", "media", "145923", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9edada11884e97b7-CPH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 172.68.243.235"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "172.68.243.235"} ], request_path: "/sources/5/media/145923/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKcfKy8KVLOJZ34AQyTh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674224.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/145923/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 47686}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edada11884e97b7-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.235", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.235" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/145923/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674224.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/145923/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 47686}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edada11884e97b7-CPH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 172.68.243.235", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "172.68.243.235" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, coo (truncated) 12:47:34.410 [info] {"source":"oban","duration":905,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:00.881 [info] {"source":"oban","duration":227,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:48:04.411 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:34.413 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:48:50.383 [info] {"args":{"id":9},"id":4848,"meta":{},"system_time":1776422930383238759,"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"]} 12:48:50.383 [debug] QUERY OK source="sources" db=0.2ms idle=749.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:48:50.384 [debug] QUERY OK source="settings" db=0.1ms idle=749.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:48:50.386 [debug] QUERY OK source="media_items" db=2.0ms idle=750.1ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 12:48:50.387 [debug] QUERY OK source="media_items" db=0.2ms idle=10.0ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 12:48:50.387 [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] 12:48:50.387 [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 [] 12:48:50.388 [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 [] 12:48:50.389 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 12:48:50.389 [debug] Current batch of media processed. Will check again in 1000ms 12:48:50.389 [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 [] 12:48:50.389 [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 [] 12:48:50.390 [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 [] 12:48:50.390 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/playlist?list=PLUUVA1IsKg-WqgEu55gWCHpi8Wfs_YqcZ&si=z1kjgb4xIhCbOdG_ --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Claire Recreates/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b3/af/b3af9a1c2a68613b4b32a67213620a7530874ae8c39bdc7fcc67d7dfa4f35526.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 12:48:51.390 [debug] Current batch of media processed. Will check again in 1000ms 12:48:52.391 [debug] Current batch of media processed. Will check again in 1000ms 12:48:53.392 [debug] Current batch of media processed. Will check again in 1000ms 12:48:54.393 [debug] Current batch of media processed. Will check again in 1000ms 12:48:55.394 [debug] Current batch of media processed. Will check again in 1000ms 12:48:56.395 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Drumsticks | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Nestle Drumsticks, The Original Ice Cream Cone. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #icecream #drumsticks \n\nCHAPTERS:\n00:00 Intro\n00:54 Snack breakdown\n03:29 Measurements\n04:43 Original ingredients\n05:15 Game plan\n06:15 Make and form cones\n18:13 Bake the cones\n19:53 Make the chocolate coating\n23:03 Make the ice cream\n32:05 Form the bulbs\n33:26 The next morning\n34:04 Make the magic shell\n37:29 Taste test\n41:59 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make the cones, combine 3 ounces room temp egg whites, ¼ cup granulated sugar, ¼ up demerara sugar, 3 tablespoons melted cooled butter, 2 teaspoons vanilla extract, ½ cup flour, 1 tablespoon cornstarch, ½ teaspoon kosher salt, and ¼ teaspoon baking soda and blend with a hand blender until completely smooth. Transfer the batter to a piping bag and pipe some onto the grates of a preheated electric waffle cone iron. Cook just until it’s set but pale, then transfer the piece to a cutting board and trace around a football-shaped stencil with a wheel cutter. Remove the excess, return the piece to the iron, and cook until golden brown all over. Form the cone around a mold, pressing firmly on the seam. Repeat with more batter. Dry the cones in a 200-degree oven upside down on a rack set over a baking sheet,, then let cool. Brush the insides of the cones with a thin layer of melted chocolate, depositing a half teaspoon of chocolate in the bottom of each. Place the cones on a rack in the freezer. \n\nTo make the ice cream, vigorously whisk 8 large egg yolks, 1 cup granulated sugar, 30g malted milk powder, ½ teaspoon kosher salt, and 1 tablespoon vanilla paste in the bottom of a large saucepan until pale and ribbony. Whisk in 3 cups whole milk and 1 cup heavy cream. Cook the mixture, whisking constantly over medium heat, until it registers 180-degrees. Cool the mixture rapidly in an ice bath, then transfer to an ice cream machine and spin until the ice cream holds its shape. Transfer some of the ice cream to a piping bag and fill the chocolate-coated cones, smoothing the tops, then transfer the rest of the ice cream to a chilled loaf pan and freeze solid. Scooping from the loaf pan, place a scoop of ice cream over the top of each cone, smoothing with a small offset spatula to form nice domes. Freeze the cones overnight, then melt chocolate and coconut oil together to make a magic shell. Dip the cones in the shell, shaking off excess, then gently roll in very evenly chopped and sifted roasted salted peanuts. Freeze until form, at least 20 minutes.", "duration" => 2534, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e043000 - I Tried Making Homemade Drumsticks | Claire Recreates.mkv", "id" => "Qd0TQeVQ2Z0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Qd0TQeVQ2Z0", "playlist_index" => 1, "timestamp" => 1714482032, "title" => "I Tried Making Homemade Drumsticks | Claire Recreates", "upload_date" => "20240430"} 12:48:56.396 [debug] QUERY OK source="sources" db=0.3ms idle=761.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:48:56.396 [debug] QUERY OK source="sources" db=0.1ms idle=762.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:48:56.397 [debug] QUERY OK source="media_items" db=0.5ms idle=762.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-04-30 13:00:32Z], 9] 12:48:56.400 [debug] QUERY OK source="media_items" db=2.3ms idle=763.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Drumsticks | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Nestle Drumsticks, The Original Ice Cream Cone. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #icecream #drumsticks \n\nCHAPTERS:\n00:00 Intro\n00:54 Snack breakdown\n03:29 Measurements\n04:43 Original ingredients\n05:15 Game plan\n06:15 Make and form cones\n18:13 Bake the cones\n19:53 Make the chocolate coating\n23:03 Make the ice cream\n32:05 Form the bulbs\n33:26 The next morning\n34:04 Make the magic shell\n37:29 Taste test\n41:59 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make the cones, combine 3 ounces room temp egg whites, ¼ cup granulated sugar, ¼ up demerara sugar, 3 tablespoons melted cooled butter, 2 teaspoons vanilla extract, ½ cup flour, 1 tablespoon cornstarch, ½ teaspoon kosher salt, and ¼ teaspoon baking soda and blend with a hand blender until completely smooth. Transfer the batter to a piping bag and pipe some onto the grates of a preheated electric waffle cone iron. Cook just until it’s set but pale, then transfer the piece to a cutting board and trace around a football-shaped stencil with a wheel cutter. Remove the excess, return the piece to the iron, and cook until golden brown all over. Form the cone around a mold, pressing firmly on the seam. Repeat with more batter. Dry the cones in a 200-degree oven upside down on a rack set over a baking sheet,, then let cool. Brush the insides of the cones with a thin layer of melted chocolate, depositing a half teaspoon of chocolate in the bottom of each. Place the cones on a rack in the freezer. \n\nTo make the ice cream, vigorously whisk 8 large egg yolks, 1 cup granulated sugar, 30g malted milk powder, ½ teaspoon kosher salt, and 1 tablespoon vanilla paste in the bottom of a large saucepan until pale and ribbony. Whisk in 3 cups whole milk and 1 cup heavy cream. Cook the mixture, whisking constantly over medium heat, until it registers 180-degrees. Cool the mixture rapidly in an ice bath, then transfer to an ice cream machine and spin until the ice cream holds its shape. Transfer some of the ice cream to a piping bag and fill the chocolate-coated cones, smoothing the tops, then transfer the rest of the ice cream to a chilled loaf pan and freeze solid. Scooping from the loaf pan, place a scoop of ice cream over the top of each cone, smoothing with a small offset spatula to form nice domes. Freeze the cones overnight, then melt chocolate and coconut oil together to make a magic shell. Dip the cones in the shell, shaking off excess, then gently roll in very evenly chopped and sifted roasted salted peanuts. Freeze until form, at least 20 minutes.", "I Tried Making Homemade Drumsticks | Claire Recreates", "d7ca7197-9355-4e1b-9f4f-9d2fb639bc38", 9, [], 2534, false, "Qd0TQeVQ2Z0", "https://www.youtube.com/watch?v=Qd0TQeVQ2Z0", 1, "/downloads/shows/Claire Recreates/Season 2024/s2024e043000 - I Tried Making Homemade Drumsticks | Claire Recreates.mkv", false, false, false, 1, ~U[2024-04-30 13:00:32Z], ~U[2026-04-17 10:48:56Z], ~U[2026-04-17 10:48:56Z], "I Tried Making Homemade Drumsticks | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Nestle Drumsticks, The Original Ice Cream Cone. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #icecream #drumsticks \n\nCHAPTERS:\n00:00 Intro\n00:54 Snack breakdown\n03:29 Measurements\n04:43 Original ingredients\n05:15 Game plan\n06:15 Make and form cones\n18:13 Bake the cones\n19:53 Make the chocolate coating\n23:03 Make the ice cream\n32:05 Form the bulbs\n33:26 The next morning\n34:04 Make the magic shell\n37:29 Taste test\n41:59 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make the cones, combine 3 ounces room temp egg whites, ¼ cup granulated sugar, ¼ up demerara sugar, 3 tablespoons melted cooled butter, 2 teaspoons vanilla extract, ½ cup flour, 1 tablespoon cornstarch, ½ teaspoon kosher salt, and ¼ teaspoon baking soda and blend with a hand blender until completely smooth. Transfer the batter to a piping bag and pipe some onto the grates of a preheated electric waffle cone iron. Cook just until it’s set but pale, then transfer the piece to a cutting board and trace around a football-shaped stencil with a wheel cutter. Remove the excess, return the piece to the iron, and cook until golden brown all over. Form the cone around a mold, pressing firmly on the seam. Repeat with more batter. Dry the cones in a 200-degree oven upside down on a rack set over a baking sheet,, then let cool. Brush the insides of the cones with a thin layer of melted chocolate, depositing a half teaspoon of chocolate in the bottom of each. Place the cones on a rack in the freezer. \n\nTo make the ice cream, vigorously whisk 8 large egg yolks, 1 cup granulated sugar, 30g malted milk powder, ½ teaspoon kosher salt, and 1 tablespoon vanilla paste in the bottom of a large saucepan until pale and ribbony. Whisk in 3 cups whole milk and 1 cup heavy cream. Cook the mixture, whisking constantly over medium heat, until it registers 180-degrees. Cool the mixture rapidly in an ice bath, then transfer to an ice cream machine and spin until the ice cream holds its shape. Transfer some of the ice cream to a piping bag and fill the chocolate-coated cones, smoothing the tops, then transfer the rest of the ice cream to a chilled loaf pan and freeze solid. Scooping from the loaf pan, place a scoop of ice cream over the top of each cone, smoothing with a small offset spatula to form nice domes. Freeze the cones overnight, then melt chocolat (truncated) 12:48:56.401 [debug] QUERY OK source="sources" db=0.2ms idle=16.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:48:56.401 [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] 12:48:56.402 [debug] QUERY OK source="media_items" db=0.2ms idle=5.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29414] 12:48:56.402 [debug] Current batch of media processed. Will check again in 1000ms 12:48:57.403 [debug] Current batch of media processed. Will check again in 1000ms 12:48:58.404 [debug] Current batch of media processed. Will check again in 1000ms 12:48:59.405 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Zebra Cakes | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Little Debbie Zebra Cakes. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #zebracake #cake \n\nChapters:\n00:00 Intro\n00:43 Zebra Cakes\n01:20 Taste test (Original)\n06:28 Game plan\n06:41 Bake cake\n16:37 Make the filling\n22:23 Fill & stack\n25:28 Cut out hexagons\n27:56 Fondant & glaze\n38:14 Chocolate stripes\n42:15 Comparison\n45:28 Spud gets brushed!\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make zebra cakes, start by whisking ¾ cup cake flour, ¼ teaspoon baking powder, ⅛ teaspoon baking soda, and ¾ teaspoon kosher salt in a medium bowl. In a separate bowl, beat 3 egg yolks and ¼ cup sugar with a hand mixer until ribbony, then stream in ¼ cup neutral oil, ¼ cup buttermilk, and a teaspoon of vanilla extract. Pour the yolk mixture into the flour mixture and whisk until smooth. In a separate bowl, combine three egg whites, ¼ cup sugar, and a pinch of cream of tartar and beat with an electric mixer to stiff peaks. Fold the whites into the batter, then scrape onto a parchment-lined half sheet tray. Bake in a 225-degree oven until springy to the touch and golden, then let cool. Trim the edges then cut the sponge into 6-cm-wide strips and trim them horizontally so they’re about 7mm thick. Freeze the pieces. \n\nTo make the filling, combine 3 ounces egg whites, 5.5 ounces of sugar, ½ teaspoon kosher salt, and a pinch of cream of tartar in the bowl of a stand mixer set over a double boiler and stir until the sugar dissolves. Whip the egg whites until firm peaks form and the meringue is room temperature, then gradually beat in 10 ounces of room temperature butter. Scrape down the sides of the bowl and beat in 1 tablespoon of vanilla paste. Pipe a layer of buttercream onto the surfaces of the cake strips using a basketweave tip, then sandwich the cake together. Chill briefly, then cut out hexagons using a serrated knife and template. Chill the cakes. \n\nIn a large bowl, whisk together 4 cups powdered sugar, ¼ cup hot water, ¼ cup light corn syrup, and 1 teaspoon vanilla extract until smooth. Whisk in 142g melted white chocolate, then thin with more hot water to the desired consistency. Place over a saucepan of hot water to keep warm. Spread a thin layer over the tops of the cakes, let set at room temperature, then place the cakes one at a time glaze-size down on a large fork and spoon the glaze over the cakes until fully enrobed. Place on a wire rack and let set. Pipe thin lines of melted chocolate over the surfaces of the cakes in a wavy pattern and let set.", "duration" => 2744, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e052800 - I Tried Making Homemade Zebra Cakes | Claire Recreates.mkv", "id" => "OtgomG_a0jg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OtgomG_a0jg", "playlist_index" => 2, "timestamp" => 1716901219, "title" => "I Tried Making Homemade Zebra Cakes | Claire Recreates", "upload_date" => "20240528"} 12:48:59.406 [debug] QUERY OK source="sources" db=0.2ms idle=1771.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:48:59.406 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1771.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:48:59.407 [debug] QUERY OK source="media_items" db=0.2ms idle=1772.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-28 13:00:19Z], 9] 12:48:59.418 [debug] QUERY OK source="media_items" db=10.0ms idle=1020.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Zebra Cakes | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Little Debbie Zebra Cakes. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #zebracake #cake \n\nChapters:\n00:00 Intro\n00:43 Zebra Cakes\n01:20 Taste test (Original)\n06:28 Game plan\n06:41 Bake cake\n16:37 Make the filling\n22:23 Fill & stack\n25:28 Cut out hexagons\n27:56 Fondant & glaze\n38:14 Chocolate stripes\n42:15 Comparison\n45:28 Spud gets brushed!\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make zebra cakes, start by whisking ¾ cup cake flour, ¼ teaspoon baking powder, ⅛ teaspoon baking soda, and ¾ teaspoon kosher salt in a medium bowl. In a separate bowl, beat 3 egg yolks and ¼ cup sugar with a hand mixer until ribbony, then stream in ¼ cup neutral oil, ¼ cup buttermilk, and a teaspoon of vanilla extract. Pour the yolk mixture into the flour mixture and whisk until smooth. In a separate bowl, combine three egg whites, ¼ cup sugar, and a pinch of cream of tartar and beat with an electric mixer to stiff peaks. Fold the whites into the batter, then scrape onto a parchment-lined half sheet tray. Bake in a 225-degree oven until springy to the touch and golden, then let cool. Trim the edges then cut the sponge into 6-cm-wide strips and trim them horizontally so they’re about 7mm thick. Freeze the pieces. \n\nTo make the filling, combine 3 ounces egg whites, 5.5 ounces of sugar, ½ teaspoon kosher salt, and a pinch of cream of tartar in the bowl of a stand mixer set over a double boiler and stir until the sugar dissolves. Whip the egg whites until firm peaks form and the meringue is room temperature, then gradually beat in 10 ounces of room temperature butter. Scrape down the sides of the bowl and beat in 1 tablespoon of vanilla paste. Pipe a layer of buttercream onto the surfaces of the cake strips using a basketweave tip, then sandwich the cake together. Chill briefly, then cut out hexagons using a serrated knife and template. Chill the cakes. \n\nIn a large bowl, whisk together 4 cups powdered sugar, ¼ cup hot water, ¼ cup light corn syrup, and 1 teaspoon vanilla extract until smooth. Whisk in 142g melted white chocolate, then thin with more hot water to the desired consistency. Place over a saucepan of hot water to keep warm. Spread a thin layer over the tops of the cakes, let set at room temperature, then place the cakes one at a time glaze-size down on a large fork and spoon the glaze over the cakes until fully enrobed. Place on a wire rack and let set. Pipe thin lines of melted chocolate over the surfaces of the cakes in a wavy pattern and let set.", "I Tried Making Homemade Zebra Cakes | Claire Recreates", "47290c68-afb8-47b0-82b8-5c52400e26f2", 9, [], 2744, false, "OtgomG_a0jg", "https://www.youtube.com/watch?v=OtgomG_a0jg", 2, "/downloads/shows/Claire Recreates/Season 2024/s2024e052800 - I Tried Making Homemade Zebra Cakes | Claire Recreates.mkv", false, false, false, 1, ~U[2024-05-28 13:00:19Z], ~U[2026-04-17 10:48:59Z], ~U[2026-04-17 10:48:59Z], "I Tried Making Homemade Zebra Cakes | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Little Debbie Zebra Cakes. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #zebracake #cake \n\nChapters:\n00:00 Intro\n00:43 Zebra Cakes\n01:20 Taste test (Original)\n06:28 Game plan\n06:41 Bake cake\n16:37 Make the filling\n22:23 Fill & stack\n25:28 Cut out hexagons\n27:56 Fondant & glaze\n38:14 Chocolate stripes\n42:15 Comparison\n45:28 Spud gets brushed!\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make zebra cakes, start by whisking ¾ cup cake flour, ¼ teaspoon baking powder, ⅛ teaspoon baking soda, and ¾ teaspoon kosher salt in a medium bowl. In a separate bowl, beat 3 egg yolks and ¼ cup sugar with a hand mixer until ribbony, then stream in ¼ cup neutral oil, ¼ cup buttermilk, and a teaspoon of vanilla extract. Pour the yolk mixture into the flour mixture and whisk until smooth. In a separate bowl, combine three egg whites, ¼ cup sugar, and a pinch of cream of tartar and beat with an electric mixer to stiff peaks. Fold the whites into the batter, then scrape onto a parchment-lined half sheet tray. Bake in a 225-degree oven until springy to the touch and golden, then let cool. Trim the edges then cut the sponge into 6-cm-wide strips and trim them horizontally so they’re about 7mm thick. Freeze the pieces. \n\nTo make the filling, combine 3 ounces egg whites, 5.5 ounces of sugar, ½ teaspoon kosher salt, and a pinch of cream of tartar in the bowl of a stand mixer set over a double boiler and stir until the sugar dissolves. Whip the egg whites until firm peaks form and the meringue is room temperature, then gradually beat in 10 ounces of room temperature butter. Scrape down the sides of the bowl and beat in 1 tablespoon of vanilla paste. Pipe a layer of buttercream onto the surfaces of the cake strips using a basketweave tip, then sandwich the cake together. Chill briefly, then cut out hexagons using a serrated knife and template. Chill the cakes. \n\nIn a large bowl, whisk together 4 cups powdered sugar, ¼ cup hot water, ¼ cup light corn syrup, and 1 teaspoon vanilla extract until smooth. Whisk in 142g melted white chocolate, then thin with more hot water to the desired consistency. Place over a saucepan of hot water to keep warm. Spread a thin layer over the tops of the cakes, let set at room temperature, then place the cakes one at a time glaze-size down on a large fork and spoon the glaze over the cakes until full (truncated) 12:48:59.418 [debug] QUERY OK source="sources" db=0.2ms idle=29.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:48:59.419 [debug] QUERY OK source="media_profiles" db=0.2ms idle=12.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:48:59.419 [debug] QUERY OK source="media_items" db=0.2ms idle=12.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 [29415] 12:48:59.419 [debug] Current batch of media processed. Will check again in 1000ms 12:49:00.420 [debug] Current batch of media processed. Will check again in 1000ms 12:49:00.882 [info] {"source":"oban","duration":271,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:49:01.421 [debug] Current batch of media processed. Will check again in 1000ms 12:49:02.422 [debug] Current batch of media processed. Will check again in 1000ms 12:49:03.423 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Cosmic Brownies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tackles beloved childhood snacks and popular meals with a unique twist. In today's episode, she focuses on Little Debbie Cosmic Brownies. Join Claire as she reimagines these classics, offering delicious recipes perfect for home cooking enthusiasts. If you're nostalgic for your favorite foods and intrigued by the art of recipe development, this series is for you! Don't miss Claire's creative take on these timeless dishes.\n\n#cosmicbrownies #clairesaffitz #brownie \n\nChapters:\n00:00 Intro\n01:14 Basic components\n01:53 Taste test\n04:19 Measurements\n08:36 Game plan\n10:34 Temper the chocolate\n16:12 Make the candy coating\n23:29 Make the brownies\n29:12 Make the royal icing\n31:28 Make the glaze\n37:19 Assemble\n39:17 Conclusion\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nBROWNIES\n6.6 ounces bittersweet chocolate\n1 stick unsalted butter\n5.55 ounces confectioners’ sugar\n2 large egg yolks\n1 teaspoon kosher salt\n2 teaspoon vanilla extract or paste\n6 ounces all-purpose flour\n\nFUDGE FROSTING\n4 tablespoons unsalted butter\n1½ cups (300g) sugar\n2 tablespoons unsweetened cocoa powder\n¾ cup whole milk\nGenerous pinch of kosher salt\n1 teaspoon vanilla extract\n1½ ounces unsweetened chocolate\n\nBROWNIES: Preheat the oven to 350°F. Lightly butter the bottom and sides of a ¼ sheet pan. Line the bottom and two longer sides with a piece of parchment paper, smoothing to eliminate air bubbles. Melt chocolate and butter in a large bowl set over a double boiler, stirring often with a flexible heat-proof spatula. Remove from the heat and add the sugar, yolks, salt, and vanilla and whisk vigorously. Add the flour and fold thoroughly with the spatula until you have a homogenous dough. Spread into the prepared pan with an offset spatula in a smooth, even layer. Bake in a water bath until the brownies are set, 18 to 22 minutes. Remove from the oven and let cool completely.", "duration" => 2675, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e062100 - I Tried Making Homemade Cosmic Brownies | Claire Recreates.mkv", "id" => "BpA0hvBfnO0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BpA0hvBfnO0", "playlist_index" => 3, "timestamp" => 1718974811, "title" => "I Tried Making Homemade Cosmic Brownies | Claire Recreates", "upload_date" => "20240621"} 12:49:03.424 [debug] QUERY OK source="sources" db=0.2ms idle=789.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:49:03.424 [debug] QUERY OK source="sources" db=0.1ms idle=789.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:03.425 [debug] QUERY OK source="media_items" db=0.1ms idle=790.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-21 13:00:11Z], 9] 12:49:03.429 [debug] QUERY OK source="media_items" db=3.6ms idle=790.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Cosmic Brownies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tackles beloved childhood snacks and popular meals with a unique twist. In today's episode, she focuses on Little Debbie Cosmic Brownies. Join Claire as she reimagines these classics, offering delicious recipes perfect for home cooking enthusiasts. If you're nostalgic for your favorite foods and intrigued by the art of recipe development, this series is for you! Don't miss Claire's creative take on these timeless dishes.\n\n#cosmicbrownies #clairesaffitz #brownie \n\nChapters:\n00:00 Intro\n01:14 Basic components\n01:53 Taste test\n04:19 Measurements\n08:36 Game plan\n10:34 Temper the chocolate\n16:12 Make the candy coating\n23:29 Make the brownies\n29:12 Make the royal icing\n31:28 Make the glaze\n37:19 Assemble\n39:17 Conclusion\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nBROWNIES\n6.6 ounces bittersweet chocolate\n1 stick unsalted butter\n5.55 ounces confectioners’ sugar\n2 large egg yolks\n1 teaspoon kosher salt\n2 teaspoon vanilla extract or paste\n6 ounces all-purpose flour\n\nFUDGE FROSTING\n4 tablespoons unsalted butter\n1½ cups (300g) sugar\n2 tablespoons unsweetened cocoa powder\n¾ cup whole milk\nGenerous pinch of kosher salt\n1 teaspoon vanilla extract\n1½ ounces unsweetened chocolate\n\nBROWNIES: Preheat the oven to 350°F. Lightly butter the bottom and sides of a ¼ sheet pan. Line the bottom and two longer sides with a piece of parchment paper, smoothing to eliminate air bubbles. Melt chocolate and butter in a large bowl set over a double boiler, stirring often with a flexible heat-proof spatula. Remove from the heat and add the sugar, yolks, salt, and vanilla and whisk vigorously. Add the flour and fold thoroughly with the spatula until you have a homogenous dough. Spread into the prepared pan with an offset spatula in a smooth, even layer. Bake in a water bath until the brownies are set, 18 to 22 minutes. Remove from the oven and let cool completely.", "I Tried Making Homemade Cosmic Brownies | Claire Recreates", "4e8b5868-4309-44ba-a9a3-a6b7c945c8b6", 9, [], 2675, false, "BpA0hvBfnO0", "https://www.youtube.com/watch?v=BpA0hvBfnO0", 3, "/downloads/shows/Claire Recreates/Season 2024/s2024e062100 - I Tried Making Homemade Cosmic Brownies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-06-21 13:00:11Z], ~U[2026-04-17 10:49:03Z], ~U[2026-04-17 10:49:03Z], "I Tried Making Homemade Cosmic Brownies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tackles beloved childhood snacks and popular meals with a unique twist. In today's episode, she focuses on Little Debbie Cosmic Brownies. Join Claire as she reimagines these classics, offering delicious recipes perfect for home cooking enthusiasts. If you're nostalgic for your favorite foods and intrigued by the art of recipe development, this series is for you! Don't miss Claire's creative take on these timeless dishes.\n\n#cosmicbrownies #clairesaffitz #brownie \n\nChapters:\n00:00 Intro\n01:14 Basic components\n01:53 Taste test\n04:19 Measurements\n08:36 Game plan\n10:34 Temper the chocolate\n16:12 Make the candy coating\n23:29 Make the brownies\n29:12 Make the royal icing\n31:28 Make the glaze\n37:19 Assemble\n39:17 Conclusion\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nBROWNIES\n6.6 ounces bittersweet chocolate\n1 stick unsalted butter\n5.55 ounces confectioners’ sugar\n2 large egg yolks\n1 teaspoon kosher salt\n2 teaspoon vanilla extract or paste\n6 ounces all-purpose flour\n\nFUDGE FROSTING\n4 tablespoons unsalted butter\n1½ cups (300g) sugar\n2 tablespoons unsweetened cocoa powder\n¾ cup whole milk\nGenerous pinch of kosher salt\n1 teaspoon vanilla extract\n1½ ounces unsweetened chocolate\n\nBROWNIES: Preheat the oven to 350°F. Lightly butter the bottom and sides of a ¼ sheet pan. Line the bottom and two longer sides with a piece of parchment paper, smoothing to eliminate air bubbles. Melt chocolate and butter in a large bowl set over a double boiler, stirring often with a flexible heat-proof spatula. Remove from the heat and add the sugar, yolks, salt, and vanilla and whisk vigorously. Add the flour and fold thoroughly with the spatula until you have a homogenous dough. Spread into the prepared pan with an offset spatula in a smooth, even layer. Bake in a water bath until the brownies are set, 18 to 22 minutes. Remove from the oven and let cool completely.", "I Tried Making Homemade Cosmic Brownies | Claire Recreates", 9, 2675, false, "BpA0hvBfnO0", "https://www.youtube.com/watch?v=BpA0hvBfnO0", "/downloads/shows/Claire Recreates/Season 2024/s2024e062100 - I Tried Making Homemade Cosmic Brownies | Claire Recreates.mkv", false, ~U[2024-06-21 13:00:11Z]] 12:49:03.430 [debug] QUERY OK source="sources" db=0.2ms idle=34.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:03.430 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:49:03.430 [debug] QUERY OK source="media_items" db=0.2ms idle=6.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29416] 12:49:03.431 [debug] Current batch of media processed. Will check again in 1000ms 12:49:04.415 [info] {"source":"oban","duration":731,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:04.431 [debug] Current batch of media processed. Will check again in 1000ms 12:49:05.432 [debug] Current batch of media processed. Will check again in 1000ms 12:49:06.433 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz takes on nostalgic childhood snacks and popular meals, adding her own creative twist. In today's episode, she focuses on Strawberry Shortcake Bars, pairing them with homemade ice cream. Join Claire as she reimagines these classics, sharing delicious recipes perfect for home cooking enthusiasts. If you have a soft spot for your favorite foods and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive approach to these timeless treats.\n\n#strawberryshortcake #clairesaffitz #icecream \n\nChapters:\n00:00 Intro\n00:28 Strawberry shortcake bars\n01:12 Taste test\n02:53 Reading the ingredients\n04:01 Measurements\n07:03 Game plan\n09:16 Make the ice cream base\n12:47 Make strawberry ice cream base\n15:38 Make the strawberry cores\n24:07 Make cake crumbs\n28:34 Fill molds\n45:10 Assemble\n46:05 Comparison\n49:32 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nStrawberry Shortcake Bars\nMakes 8\n\nVANILLA ICE CREAM\n8 large egg yolks\n¾ cup granulated sugar\n½ teaspoon kosher salt\n1 tablespoon vanilla paste\n3 cups whole milk\n1 cup heavy cream\n\n1 pound strawberries chopped, mixed with 2 tbsp sugar, roasted at 275 for 1 hour, stir a few times, blend in to half of vanilla base and flavor with 1 Tbsp hibiscus powder and 20g freeze dried strawberries, strain, process\n\nSUGAR COOKIE CRUMBS\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour\n\nSTRAWBERRY VERSION\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour", "duration" => 2988, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e080800 - I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates.mkv", "id" => "dPBXgwJD35E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dPBXgwJD35E", "playlist_index" => 4, "timestamp" => 1723137303, "title" => "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates", "upload_date" => "20240808"} 12:49:06.434 [debug] QUERY OK source="sources" db=0.3ms idle=1799.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:49:06.435 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1800.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:06.436 [debug] QUERY OK source="media_items" db=0.7ms idle=1036.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-08 17:15:03Z], 9] 12:49:06.439 [debug] QUERY OK source="media_items" db=1.8ms idle=802.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz takes on nostalgic childhood snacks and popular meals, adding her own creative twist. In today's episode, she focuses on Strawberry Shortcake Bars, pairing them with homemade ice cream. Join Claire as she reimagines these classics, sharing delicious recipes perfect for home cooking enthusiasts. If you have a soft spot for your favorite foods and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive approach to these timeless treats.\n\n#strawberryshortcake #clairesaffitz #icecream \n\nChapters:\n00:00 Intro\n00:28 Strawberry shortcake bars\n01:12 Taste test\n02:53 Reading the ingredients\n04:01 Measurements\n07:03 Game plan\n09:16 Make the ice cream base\n12:47 Make strawberry ice cream base\n15:38 Make the strawberry cores\n24:07 Make cake crumbs\n28:34 Fill molds\n45:10 Assemble\n46:05 Comparison\n49:32 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nStrawberry Shortcake Bars\nMakes 8\n\nVANILLA ICE CREAM\n8 large egg yolks\n¾ cup granulated sugar\n½ teaspoon kosher salt\n1 tablespoon vanilla paste\n3 cups whole milk\n1 cup heavy cream\n\n1 pound strawberries chopped, mixed with 2 tbsp sugar, roasted at 275 for 1 hour, stir a few times, blend in to half of vanilla base and flavor with 1 Tbsp hibiscus powder and 20g freeze dried strawberries, strain, process\n\nSUGAR COOKIE CRUMBS\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour\n\nSTRAWBERRY VERSION\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour", "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates", "4a415a18-b6fd-416a-bb30-a50a4370cd39", 9, [], 2988, false, "dPBXgwJD35E", "https://www.youtube.com/watch?v=dPBXgwJD35E", 4, "/downloads/shows/Claire Recreates/Season 2024/s2024e080800 - I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates.mkv", false, false, false, 1, ~U[2024-08-08 17:15:03Z], ~U[2026-04-17 10:49:06Z], ~U[2026-04-17 10:49:06Z], "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz takes on nostalgic childhood snacks and popular meals, adding her own creative twist. In today's episode, she focuses on Strawberry Shortcake Bars, pairing them with homemade ice cream. Join Claire as she reimagines these classics, sharing delicious recipes perfect for home cooking enthusiasts. If you have a soft spot for your favorite foods and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive approach to these timeless treats.\n\n#strawberryshortcake #clairesaffitz #icecream \n\nChapters:\n00:00 Intro\n00:28 Strawberry shortcake bars\n01:12 Taste test\n02:53 Reading the ingredients\n04:01 Measurements\n07:03 Game plan\n09:16 Make the ice cream base\n12:47 Make strawberry ice cream base\n15:38 Make the strawberry cores\n24:07 Make cake crumbs\n28:34 Fill molds\n45:10 Assemble\n46:05 Comparison\n49:32 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nStrawberry Shortcake Bars\nMakes 8\n\nVANILLA ICE CREAM\n8 large egg yolks\n¾ cup granulated sugar\n½ teaspoon kosher salt\n1 tablespoon vanilla paste\n3 cups whole milk\n1 cup heavy cream\n\n1 pound strawberries chopped, mixed with 2 tbsp sugar, roasted at 275 for 1 hour, stir a few times, blend in to half of vanilla base and flavor with 1 Tbsp hibiscus powder and 20g freeze dried strawberries, strain, process\n\nSUGAR COOKIE CRUMBS\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour\n\nSTRAWBERRY VERSION\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour", "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates", 9, 2988, false, "dPBXgwJD35E", "https://www.youtube.com/watch?v=dPBXgwJD35E", "/downloads/shows/Claire Recreates/Season 2024/s2024e080800 - I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates.mkv", false, ~U[2024-08-08 17:15:03Z]] 12:49:06.439 [debug] QUERY OK source="sources" db=0.4ms idle=39.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:06.440 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=5.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:49:06.441 [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 [29417] 12:49:06.441 [debug] Current batch of media processed. Will check again in 1000ms 12:49:07.442 [debug] Current batch of media processed. Will check again in 1000ms 12:49:08.443 [debug] Current batch of media processed. Will check again in 1000ms 12:49:09.444 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Uncrustables | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she tackles the beloved Smucker’s Uncrustables, giving them a creative, from-scratch makeover. Claire takes no shortcuts, making her own homemade white bread, peanut butter, and jelly, transforming this nostalgic lunchbox staple into something truly special. If you’re a fan of classic snacks and curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive twist on this timeless favorite.\n\n#clairesaffitz #homemade #uncrustables \n\nChapters:\n00:00 Intro\n00:54 How does Claire Saffitz make a PBJ?\n01:50 Taste test\n02:19 Basic Components\n02:48 Reading the Ingredients\n03:50 Game Plan\n04:32 Soft White Bread\n06:31 Cal calls Uncrustables\n06:59 Peanut butter\n13:44 Grape Jelly\n18:10 Assembly\n26:47 Comparison\n28:58 Cat Cam\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nSOFT WHITE BREAD\nMakes 1 loaf\n\nTANGZHONG\n½ cup whole milk\n½ cup water\n50g (6 tablespoons) bread flour\n\nDOUGH\n3 cups (390g) bread flour, plus more, if needed, for work surface\n¼ cup water\n¼ cup milk \n2 tablespoons granulated sugar\n4 tablespoons neutral oil\n9g kosher salt (2½ teaspoons Diamond Crystal kosher salt)\n2 teaspoons instant yeast\n\nGrape Jelly\n2 lbs green apples\n1 quart 100% Concord grape juice\n1 cup sugar\n2 tablespoons lemon juice\n\nPeanut Butter\n3 cups roasted salted peanuts, toasted until golden brown\nGenerous pinch of salt\n2 teaspoons of honey", "duration" => 1750, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e092500 - I Tried Making Homemade Uncrustables | Claire Recreates.mkv", "id" => "3eIbzifSZYY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3eIbzifSZYY", "playlist_index" => 5, "timestamp" => 1727269205, "title" => "I Tried Making Homemade Uncrustables | Claire Recreates", "upload_date" => "20240925"} 12:49:09.445 [debug] QUERY OK source="sources" db=0.2ms idle=1810.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:49:09.445 [debug] QUERY OK source="sources" db=0.1ms idle=1811.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:09.446 [debug] QUERY OK source="media_items" db=0.2ms idle=1811.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-25 13:00:05Z], 9] 12:49:09.448 [debug] QUERY OK source="media_items" db=1.5ms idle=1043.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Uncrustables | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she tackles the beloved Smucker’s Uncrustables, giving them a creative, from-scratch makeover. Claire takes no shortcuts, making her own homemade white bread, peanut butter, and jelly, transforming this nostalgic lunchbox staple into something truly special. If you’re a fan of classic snacks and curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive twist on this timeless favorite.\n\n#clairesaffitz #homemade #uncrustables \n\nChapters:\n00:00 Intro\n00:54 How does Claire Saffitz make a PBJ?\n01:50 Taste test\n02:19 Basic Components\n02:48 Reading the Ingredients\n03:50 Game Plan\n04:32 Soft White Bread\n06:31 Cal calls Uncrustables\n06:59 Peanut butter\n13:44 Grape Jelly\n18:10 Assembly\n26:47 Comparison\n28:58 Cat Cam\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nSOFT WHITE BREAD\nMakes 1 loaf\n\nTANGZHONG\n½ cup whole milk\n½ cup water\n50g (6 tablespoons) bread flour\n\nDOUGH\n3 cups (390g) bread flour, plus more, if needed, for work surface\n¼ cup water\n¼ cup milk \n2 tablespoons granulated sugar\n4 tablespoons neutral oil\n9g kosher salt (2½ teaspoons Diamond Crystal kosher salt)\n2 teaspoons instant yeast\n\nGrape Jelly\n2 lbs green apples\n1 quart 100% Concord grape juice\n1 cup sugar\n2 tablespoons lemon juice\n\nPeanut Butter\n3 cups roasted salted peanuts, toasted until golden brown\nGenerous pinch of salt\n2 teaspoons of honey", "I Tried Making Homemade Uncrustables | Claire Recreates", "3c66aa21-9d47-4932-afba-2cccd8d57a75", 9, [], 1750, false, "3eIbzifSZYY", "https://www.youtube.com/watch?v=3eIbzifSZYY", 5, "/downloads/shows/Claire Recreates/Season 2024/s2024e092500 - I Tried Making Homemade Uncrustables | Claire Recreates.mkv", false, false, false, 1, ~U[2024-09-25 13:00:05Z], ~U[2026-04-17 10:49:09Z], ~U[2026-04-17 10:49:09Z], "I Tried Making Homemade Uncrustables | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she tackles the beloved Smucker’s Uncrustables, giving them a creative, from-scratch makeover. Claire takes no shortcuts, making her own homemade white bread, peanut butter, and jelly, transforming this nostalgic lunchbox staple into something truly special. If you’re a fan of classic snacks and curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive twist on this timeless favorite.\n\n#clairesaffitz #homemade #uncrustables \n\nChapters:\n00:00 Intro\n00:54 How does Claire Saffitz make a PBJ?\n01:50 Taste test\n02:19 Basic Components\n02:48 Reading the Ingredients\n03:50 Game Plan\n04:32 Soft White Bread\n06:31 Cal calls Uncrustables\n06:59 Peanut butter\n13:44 Grape Jelly\n18:10 Assembly\n26:47 Comparison\n28:58 Cat Cam\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nSOFT WHITE BREAD\nMakes 1 loaf\n\nTANGZHONG\n½ cup whole milk\n½ cup water\n50g (6 tablespoons) bread flour\n\nDOUGH\n3 cups (390g) bread flour, plus more, if needed, for work surface\n¼ cup water\n¼ cup milk \n2 tablespoons granulated sugar\n4 tablespoons neutral oil\n9g kosher salt (2½ teaspoons Diamond Crystal kosher salt)\n2 teaspoons instant yeast\n\nGrape Jelly\n2 lbs green apples\n1 quart 100% Concord grape juice\n1 cup sugar\n2 tablespoons lemon juice\n\nPeanut Butter\n3 cups roasted salted peanuts, toasted until golden brown\nGenerous pinch of salt\n2 teaspoons of honey", "I Tried Making Homemade Uncrustables | Claire Recreates", 9, 1750, false, "3eIbzifSZYY", "https://www.youtube.com/watch?v=3eIbzifSZYY", "/downloads/shows/Claire Recreates/Season 2024/s2024e092500 - I Tried Making Homemade Uncrustables | Claire Recreates.mkv", false, ~U[2024-09-25 13:00:05Z]] 12:49:09.448 [debug] QUERY OK source="sources" db=0.2ms idle=44.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:09.449 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:49:09.449 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29418] 12:49:09.450 [debug] Current batch of media processed. Will check again in 1000ms 12:49:10.450 [debug] Current batch of media processed. Will check again in 1000ms 12:49:11.451 [debug] Current batch of media processed. Will check again in 1000ms 12:49:12.452 [debug] Current batch of media processed. Will check again in 1000ms 12:49:13.453 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she steps out to explore restaurant staples, starting with the iconic McDonald’s Apple Pie. Claire meticulously dissects the fast-food favorite, recreating it from scratch with her own version of a hand pie. From crafting a flaky, golden dough to making a perfectly spiced apple filling, Claire transforms this nostalgic dessert into a homemade masterpiece. If you love classic treats and are curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless favorite.\n\n#clairesaffitz #mcdonalds #applepie \n\nChapters:\n00:00 Intro\n00:30 McDonald’s Drive-Thru\n02:14 Back to the kitchen\n02:51 Measurements\n04:36 How To Make Baked Apple Pie\n04:49 Reading the Ingredients\n05:23 Doing some research\n05:49 How To Make Pastry\n09:47 How To Make Apple Filling\n21:09 Testing the lattice\n24:39 Assembly\n28:43 Baking\n30:26 McDonald’s vs Claire Saffitz\n32:18 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1957, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e102400 - I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates.mkv", "id" => "JPcLcSbYL94", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JPcLcSbYL94", "playlist_index" => 6, "timestamp" => 1729789223, "title" => "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates", "upload_date" => "20241024"} 12:49:13.454 [debug] QUERY OK source="sources" db=0.2ms idle=819.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:49:13.454 [debug] QUERY OK source="sources" db=0.1ms idle=820.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:13.455 [debug] QUERY OK source="media_items" db=0.2ms idle=820.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-24 17:00:23Z], 9] 12:49:13.457 [debug] QUERY OK source="media_items" db=1.8ms idle=821.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she steps out to explore restaurant staples, starting with the iconic McDonald’s Apple Pie. Claire meticulously dissects the fast-food favorite, recreating it from scratch with her own version of a hand pie. From crafting a flaky, golden dough to making a perfectly spiced apple filling, Claire transforms this nostalgic dessert into a homemade masterpiece. If you love classic treats and are curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless favorite.\n\n#clairesaffitz #mcdonalds #applepie \n\nChapters:\n00:00 Intro\n00:30 McDonald’s Drive-Thru\n02:14 Back to the kitchen\n02:51 Measurements\n04:36 How To Make Baked Apple Pie\n04:49 Reading the Ingredients\n05:23 Doing some research\n05:49 How To Make Pastry\n09:47 How To Make Apple Filling\n21:09 Testing the lattice\n24:39 Assembly\n28:43 Baking\n30:26 McDonald’s vs Claire Saffitz\n32:18 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates", "8c3e41e0-3917-46f3-9205-b614b6342a07", 9, [], 1957, false, "JPcLcSbYL94", "https://www.youtube.com/watch?v=JPcLcSbYL94", 6, "/downloads/shows/Claire Recreates/Season 2024/s2024e102400 - I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates.mkv", false, false, false, 1, ~U[2024-10-24 17:00:23Z], ~U[2026-04-17 10:49:13Z], ~U[2026-04-17 10:49:13Z], "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she steps out to explore restaurant staples, starting with the iconic McDonald’s Apple Pie. Claire meticulously dissects the fast-food favorite, recreating it from scratch with her own version of a hand pie. From crafting a flaky, golden dough to making a perfectly spiced apple filling, Claire transforms this nostalgic dessert into a homemade masterpiece. If you love classic treats and are curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless favorite.\n\n#clairesaffitz #mcdonalds #applepie \n\nChapters:\n00:00 Intro\n00:30 McDonald’s Drive-Thru\n02:14 Back to the kitchen\n02:51 Measurements\n04:36 How To Make Baked Apple Pie\n04:49 Reading the Ingredients\n05:23 Doing some research\n05:49 How To Make Pastry\n09:47 How To Make Apple Filling\n21:09 Testing the lattice\n24:39 Assembly\n28:43 Baking\n30:26 McDonald’s vs Claire Saffitz\n32:18 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates", 9, 1957, false, "JPcLcSbYL94", "https://www.youtube.com/watch?v=JPcLcSbYL94", "/downloads/shows/Claire Recreates/Season 2024/s2024e102400 - I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates.mkv", false, ~U[2024-10-24 17:00:23Z]] 12:49:13.458 [debug] QUERY OK source="sources" db=0.4ms 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" = ?) [9] 12:49:13.459 [debug] QUERY OK source="media_profiles" db=0.3ms 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] 12:49:13.459 [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 [29419] 12:49:13.460 [debug] Current batch of media processed. Will check again in 1000ms 12:49:14.460 [debug] Current batch of media processed. Will check again in 1000ms 12:49:15.461 [debug] Current batch of media processed. Will check again in 1000ms 12:49:16.462 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Mallomars | Claire Recreates\nOn this special episode of Claire Recreates, Claire Saffitz tackles the beloved Mallomars, a treat adored in the Northeast but deserving of nationwide love. From crafting the perfect graham cracker base to whipping up a fluffy marshmallow and dipping it all in luscious chocolate, Claire brings this classic to life in a way only she can. If you love reimagined classics and want to celebrate the joy of homemade desserts, this episode is a must-watch. Don’t miss Claire’s creative take on this iconic treat—perfect for the holiday season! Happy Thanksgiving! We’re incredibly thankful for everyone who has joined us on this channel.\n\n#clairesaffitz #mallomars #smores #chocolate \n\nChapters:\n00:00 Intro\n00:25 Mallomars\n02:06 Measurements\n02:42 Ingredients\n03:30 Game plan\n03:58 Cookie base\n15:59 Marshmallow topper\n23:37 Assemble cookies\n24:59 Temper chocolate & enrobe\n29:27 Snap test\n30:03 Comparison\n31:53 Harris review\n32:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1971, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e112800 - I Tried Making Homemade Mallomars | Claire Recreates.mkv", "id" => "Qh9zncazwM8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Qh9zncazwM8", "playlist_index" => 7, "timestamp" => 1732805102, "title" => "I Tried Making Homemade Mallomars | Claire Recreates", "upload_date" => "20241128"} 12:49:16.463 [debug] QUERY OK source="sources" db=0.2ms idle=1828.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:49:16.463 [debug] QUERY OK source="sources" db=0.1ms idle=1829.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:16.464 [debug] QUERY OK source="media_items" db=0.3ms idle=1829.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-28 14:45:02Z], 9] 12:49:16.466 [debug] QUERY OK source="media_items" db=1.4ms idle=1054.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Mallomars | Claire Recreates\nOn this special episode of Claire Recreates, Claire Saffitz tackles the beloved Mallomars, a treat adored in the Northeast but deserving of nationwide love. From crafting the perfect graham cracker base to whipping up a fluffy marshmallow and dipping it all in luscious chocolate, Claire brings this classic to life in a way only she can. If you love reimagined classics and want to celebrate the joy of homemade desserts, this episode is a must-watch. Don’t miss Claire’s creative take on this iconic treat—perfect for the holiday season! Happy Thanksgiving! We’re incredibly thankful for everyone who has joined us on this channel.\n\n#clairesaffitz #mallomars #smores #chocolate \n\nChapters:\n00:00 Intro\n00:25 Mallomars\n02:06 Measurements\n02:42 Ingredients\n03:30 Game plan\n03:58 Cookie base\n15:59 Marshmallow topper\n23:37 Assemble cookies\n24:59 Temper chocolate & enrobe\n29:27 Snap test\n30:03 Comparison\n31:53 Harris review\n32:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Mallomars | Claire Recreates", "da24b766-0d71-469b-b5aa-995338e4ec92", 9, [], 1971, false, "Qh9zncazwM8", "https://www.youtube.com/watch?v=Qh9zncazwM8", 7, "/downloads/shows/Claire Recreates/Season 2024/s2024e112800 - I Tried Making Homemade Mallomars | Claire Recreates.mkv", false, false, false, 1, ~U[2024-11-28 14:45:02Z], ~U[2026-04-17 10:49:16Z], ~U[2026-04-17 10:49:16Z], "I Tried Making Homemade Mallomars | Claire Recreates\nOn this special episode of Claire Recreates, Claire Saffitz tackles the beloved Mallomars, a treat adored in the Northeast but deserving of nationwide love. From crafting the perfect graham cracker base to whipping up a fluffy marshmallow and dipping it all in luscious chocolate, Claire brings this classic to life in a way only she can. If you love reimagined classics and want to celebrate the joy of homemade desserts, this episode is a must-watch. Don’t miss Claire’s creative take on this iconic treat—perfect for the holiday season! Happy Thanksgiving! We’re incredibly thankful for everyone who has joined us on this channel.\n\n#clairesaffitz #mallomars #smores #chocolate \n\nChapters:\n00:00 Intro\n00:25 Mallomars\n02:06 Measurements\n02:42 Ingredients\n03:30 Game plan\n03:58 Cookie base\n15:59 Marshmallow topper\n23:37 Assemble cookies\n24:59 Temper chocolate & enrobe\n29:27 Snap test\n30:03 Comparison\n31:53 Harris review\n32:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Mallomars | Claire Recreates", 9, 1971, false, "Qh9zncazwM8", "https://www.youtube.com/watch?v=Qh9zncazwM8", "/downloads/shows/Claire Recreates/Season 2024/s2024e112800 - I Tried Making Homemade Mallomars | Claire Recreates.mkv", false, ~U[2024-11-28 14:45:02Z]] 12:49:16.466 [debug] QUERY OK source="sources" db=0.2ms idle=55.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:16.467 [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] 12:49:16.467 [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 [29420] 12:49:16.468 [debug] Current batch of media processed. Will check again in 1000ms 12:49:17.468 [debug] Current batch of media processed. Will check again in 1000ms 12:49:18.469 [debug] Current batch of media processed. Will check again in 1000ms 12:49:19.470 [debug] Current batch of media processed. Will check again in 1000ms 12:49:20.471 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Milano Cookies | Claire Recreates\nIn this special holiday episode of Claire Recreates, Claire Saffitz takes on the beloved Pepperidge Farm Milano Cookies, a holiday favorite that deserves a homemade makeover. Claire is determined to recreate the classic cookie, from baking the perfect buttery, delicate biscuit to making a smooth, decadent chocolate filling. With her signature flair, Claire transforms this iconic treat into a homemade version that’s even more irresistible than the original. If you love reimagined classics and want to impress your guests with a holiday dessert that’s both nostalgic and elevated, this episode is a must-watch. Don’t miss Claire’s delicious twist on the Milano Cookie—perfect for celebrating the season! As we close out 2024, we’re incredibly thankful for everyone who’s supported this channel. Happy Holidays!\n\n#clairesaffitz #cookies #dessert \n\nChapters:\n00:00 Intro\n00:26 Milano cookies\n02:08 Taste test\n02:46 Measurements\n03:54 Reading the ingredients\n04:54 Game plan\n05:22 Harris' Milano Tip\n06:12 Make & bake cookies\n07:47 Making the batter\n09:47 Piping the cookies\n13:36 Making cookie improvements\n29:33 Make mint layer\n31:55 Temper chocolate\n33:29 Assembly\n35:06 Comparison \n36:24 Harris’ review\n36:56 Conclusion\n37:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 2271, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e123100 - I Tried Making Homemade Milano Cookies | Claire Recreates.mkv", "id" => "L_Xu-Tt7fHA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=L_Xu-Tt7fHA", "playlist_index" => 8, "timestamp" => 1735657227, "title" => "I Tried Making Homemade Milano Cookies | Claire Recreates", "upload_date" => "20241231"} 12:49:20.472 [debug] QUERY OK source="sources" db=0.2ms idle=837.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:49:20.472 [debug] QUERY OK source="sources" db=0.1ms idle=837.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:20.473 [debug] QUERY OK source="media_items" db=0.2ms idle=838.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-31 15:00:27Z], 9] 12:49:20.475 [debug] QUERY OK source="media_items" db=1.3ms idle=838.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Milano Cookies | Claire Recreates\nIn this special holiday episode of Claire Recreates, Claire Saffitz takes on the beloved Pepperidge Farm Milano Cookies, a holiday favorite that deserves a homemade makeover. Claire is determined to recreate the classic cookie, from baking the perfect buttery, delicate biscuit to making a smooth, decadent chocolate filling. With her signature flair, Claire transforms this iconic treat into a homemade version that’s even more irresistible than the original. If you love reimagined classics and want to impress your guests with a holiday dessert that’s both nostalgic and elevated, this episode is a must-watch. Don’t miss Claire’s delicious twist on the Milano Cookie—perfect for celebrating the season! As we close out 2024, we’re incredibly thankful for everyone who’s supported this channel. Happy Holidays!\n\n#clairesaffitz #cookies #dessert \n\nChapters:\n00:00 Intro\n00:26 Milano cookies\n02:08 Taste test\n02:46 Measurements\n03:54 Reading the ingredients\n04:54 Game plan\n05:22 Harris' Milano Tip\n06:12 Make & bake cookies\n07:47 Making the batter\n09:47 Piping the cookies\n13:36 Making cookie improvements\n29:33 Make mint layer\n31:55 Temper chocolate\n33:29 Assembly\n35:06 Comparison \n36:24 Harris’ review\n36:56 Conclusion\n37:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Milano Cookies | Claire Recreates", "0ec75d31-c069-4389-a440-95d7a7eaedd8", 9, [], 2271, false, "L_Xu-Tt7fHA", "https://www.youtube.com/watch?v=L_Xu-Tt7fHA", 8, "/downloads/shows/Claire Recreates/Season 2024/s2024e123100 - I Tried Making Homemade Milano Cookies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-12-31 15:00:27Z], ~U[2026-04-17 10:49:20Z], ~U[2026-04-17 10:49:20Z], "I Tried Making Homemade Milano Cookies | Claire Recreates\nIn this special holiday episode of Claire Recreates, Claire Saffitz takes on the beloved Pepperidge Farm Milano Cookies, a holiday favorite that deserves a homemade makeover. Claire is determined to recreate the classic cookie, from baking the perfect buttery, delicate biscuit to making a smooth, decadent chocolate filling. With her signature flair, Claire transforms this iconic treat into a homemade version that’s even more irresistible than the original. If you love reimagined classics and want to impress your guests with a holiday dessert that’s both nostalgic and elevated, this episode is a must-watch. Don’t miss Claire’s delicious twist on the Milano Cookie—perfect for celebrating the season! As we close out 2024, we’re incredibly thankful for everyone who’s supported this channel. Happy Holidays!\n\n#clairesaffitz #cookies #dessert \n\nChapters:\n00:00 Intro\n00:26 Milano cookies\n02:08 Taste test\n02:46 Measurements\n03:54 Reading the ingredients\n04:54 Game plan\n05:22 Harris' Milano Tip\n06:12 Make & bake cookies\n07:47 Making the batter\n09:47 Piping the cookies\n13:36 Making cookie improvements\n29:33 Make mint layer\n31:55 Temper chocolate\n33:29 Assembly\n35:06 Comparison \n36:24 Harris’ review\n36:56 Conclusion\n37:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Milano Cookies | Claire Recreates", 9, 2271, false, "L_Xu-Tt7fHA", "https://www.youtube.com/watch?v=L_Xu-Tt7fHA", "/downloads/shows/Claire Recreates/Season 2024/s2024e123100 - I Tried Making Homemade Milano Cookies | Claire Recreates.mkv", false, ~U[2024-12-31 15:00:27Z]] 12:49:20.475 [debug] QUERY OK source="sources" db=0.1ms idle=60.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:20.475 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:49:20.476 [debug] QUERY OK source="media_items" db=0.3ms 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 [29421] 12:49:20.476 [debug] Current batch of media processed. Will check again in 1000ms 12:49:21.477 [debug] Current batch of media processed. Will check again in 1000ms 12:49:22.478 [debug] Current batch of media processed. Will check again in 1000ms 12:49:23.479 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz dives into beloved childhood snacks and iconic treats, adding her own creative flair. In today’s episode, she focuses on the classic Little Debbie Oatmeal Creme Pies, transforming them with a homemade twist. Join Claire as she reimagines this nostalgic favorite, sharing mouthwatering recipes perfect for home baking enthusiasts. If you have a fondness for your favorite snacks and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless treat.\n\n#clairesaffitz #oatmeal #pie \n\nChapters:\n\n00:00 Intro\n01:10 Measurements\n01:29 Smell and taste test\n02:22 Ingredients\n03:42 Game plan\n03:49 Make cookie dough + bake\n13:21 Make adjustments to cookies\n22:11 Marshmallow cream\n25:29 Assemble\n26:19 Comparison\n27:55 Harris review\n28:32 Conclusion\n29:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nCOOKIES\n1¼ cups old-fashioned rolled oats, divided\n¼ cup raisins\n½ cup whole milk\n¼ cup water \n (¼ cup oats + raisins cooked in milk/water, remaining 1 cup oats processed w/ dry ingredients)\n1½ cups all-purpose flour\n2 teaspoons baking soda\n1 teaspoon kosher salt\n¾ teaspoon cinnamon\nPinch of ground cloves\n8 tablespoons (1 stick) unsalted butter, at room temperature\n¼ cup vegetable oil\n1 cup light brown sugar (packed)\n⅓ cup molasses\n1 large egg\n2 teaspoons pure vanilla extract\n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon King Arthur Pure Vanilla Extract", "duration" => 1755, "filename" => "/downloads/shows/Claire Recreates/Season 2024/s2024e083000 - I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates.mkv", "id" => "qX5AKIh2x_4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qX5AKIh2x_4", "playlist_index" => 9, "timestamp" => 1725026449, "title" => "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates", "upload_date" => "20240830"} 12:49:23.480 [debug] QUERY OK source="sources" db=0.2ms idle=1841.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:49:23.480 [debug] QUERY OK source="sources" db=0.1ms idle=1841.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:23.481 [debug] QUERY OK source="media_items" db=0.2ms idle=1842.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-30 14:00:49Z], 9] 12:49:23.483 [debug] QUERY OK source="media_items" db=2.1ms idle=1064.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz dives into beloved childhood snacks and iconic treats, adding her own creative flair. In today’s episode, she focuses on the classic Little Debbie Oatmeal Creme Pies, transforming them with a homemade twist. Join Claire as she reimagines this nostalgic favorite, sharing mouthwatering recipes perfect for home baking enthusiasts. If you have a fondness for your favorite snacks and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless treat.\n\n#clairesaffitz #oatmeal #pie \n\nChapters:\n\n00:00 Intro\n01:10 Measurements\n01:29 Smell and taste test\n02:22 Ingredients\n03:42 Game plan\n03:49 Make cookie dough + bake\n13:21 Make adjustments to cookies\n22:11 Marshmallow cream\n25:29 Assemble\n26:19 Comparison\n27:55 Harris review\n28:32 Conclusion\n29:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nCOOKIES\n1¼ cups old-fashioned rolled oats, divided\n¼ cup raisins\n½ cup whole milk\n¼ cup water \n (¼ cup oats + raisins cooked in milk/water, remaining 1 cup oats processed w/ dry ingredients)\n1½ cups all-purpose flour\n2 teaspoons baking soda\n1 teaspoon kosher salt\n¾ teaspoon cinnamon\nPinch of ground cloves\n8 tablespoons (1 stick) unsalted butter, at room temperature\n¼ cup vegetable oil\n1 cup light brown sugar (packed)\n⅓ cup molasses\n1 large egg\n2 teaspoons pure vanilla extract\n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon King Arthur Pure Vanilla Extract", "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates", "66b6b8e2-b1c4-4b8f-8e1f-6da26eb94030", 9, [], 1755, false, "qX5AKIh2x_4", "https://www.youtube.com/watch?v=qX5AKIh2x_4", 9, "/downloads/shows/Claire Recreates/Season 2024/s2024e083000 - I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-08-30 14:00:49Z], ~U[2026-04-17 10:49:23Z], ~U[2026-04-17 10:49:23Z], "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz dives into beloved childhood snacks and iconic treats, adding her own creative flair. In today’s episode, she focuses on the classic Little Debbie Oatmeal Creme Pies, transforming them with a homemade twist. Join Claire as she reimagines this nostalgic favorite, sharing mouthwatering recipes perfect for home baking enthusiasts. If you have a fondness for your favorite snacks and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless treat.\n\n#clairesaffitz #oatmeal #pie \n\nChapters:\n\n00:00 Intro\n01:10 Measurements\n01:29 Smell and taste test\n02:22 Ingredients\n03:42 Game plan\n03:49 Make cookie dough + bake\n13:21 Make adjustments to cookies\n22:11 Marshmallow cream\n25:29 Assemble\n26:19 Comparison\n27:55 Harris review\n28:32 Conclusion\n29:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nCOOKIES\n1¼ cups old-fashioned rolled oats, divided\n¼ cup raisins\n½ cup whole milk\n¼ cup water \n (¼ cup oats + raisins cooked in milk/water, remaining 1 cup oats processed w/ dry ingredients)\n1½ cups all-purpose flour\n2 teaspoons baking soda\n1 teaspoon kosher salt\n¾ teaspoon cinnamon\nPinch of ground cloves\n8 tablespoons (1 stick) unsalted butter, at room temperature\n¼ cup vegetable oil\n1 cup light brown sugar (packed)\n⅓ cup molasses\n1 large egg\n2 teaspoons pure vanilla extract\n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon King Arthur Pure Vanilla Extract", "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates", 9, 1755, false, "qX5AKIh2x_4", "https://www.youtube.com/watch?v=qX5AKIh2x_4", "/downloads/shows/Claire Recreates/Season 2024/s2024e083000 - I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates.mkv", false, ~U[2024-08-30 14:00:49Z]] 12:49:23.484 [debug] QUERY OK source="sources" db=0.1ms idle=66.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:23.484 [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] 12:49:23.485 [debug] QUERY OK source="media_items" db=0.2ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29422] 12:49:23.485 [debug] Current batch of media processed. Will check again in 1000ms 12:49:24.486 [debug] Current batch of media processed. Will check again in 1000ms 12:49:25.487 [debug] Current batch of media processed. Will check again in 1000ms 12:49:26.488 [debug] Current batch of media processed. Will check again in 1000ms 12:49:27.489 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on the challenge of recreating beloved childhood snacks and iconic treats—but this time, she’s in new territory. In today’s episode, Claire tackles the Kinder Bueno, attempting to craft the crispy, creamy chocolate bar from scratch—all from a rental kitchen. With limited tools and unfamiliar surroundings, she puts her skills to the test, proving that great recipes can come together anywhere. If you love nostalgic sweets and the thrill of recipe experimentation, this episode is a must-watch!\n\n#kinderbueno #clairesaffitz #chocolate \n\nChapters\n00:00 Intro\n00:26 How To Make Kinder Bueno\n02:46 Measurements\n02:59 Taste test\n04:53 Ingredients\n06:14 Molds\n11:07 How To Make Kinder Bueno Wafers\n18:10 100% polycarbonate\n20:04 Plan B?\n21:37 Lessons learned\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1385, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e032000 - I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates.mkv", "id" => "ipwx-AzyDNk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ipwx-AzyDNk", "playlist_index" => 10, "timestamp" => 1742479230, "title" => "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates", "upload_date" => "20250320"} 12:49:27.490 [debug] QUERY OK source="sources" db=0.2ms idle=851.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:49:27.490 [debug] QUERY OK source="sources" db=0.2ms idle=851.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:27.491 [debug] QUERY OK source="media_items" db=0.2ms idle=852.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-20 14:00:30Z], 9] 12:49:27.497 [debug] QUERY OK source="media_items" db=5.5ms idle=853.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on the challenge of recreating beloved childhood snacks and iconic treats—but this time, she’s in new territory. In today’s episode, Claire tackles the Kinder Bueno, attempting to craft the crispy, creamy chocolate bar from scratch—all from a rental kitchen. With limited tools and unfamiliar surroundings, she puts her skills to the test, proving that great recipes can come together anywhere. If you love nostalgic sweets and the thrill of recipe experimentation, this episode is a must-watch!\n\n#kinderbueno #clairesaffitz #chocolate \n\nChapters\n00:00 Intro\n00:26 How To Make Kinder Bueno\n02:46 Measurements\n02:59 Taste test\n04:53 Ingredients\n06:14 Molds\n11:07 How To Make Kinder Bueno Wafers\n18:10 100% polycarbonate\n20:04 Plan B?\n21:37 Lessons learned\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates", "832bd684-a5af-4797-ab08-072b1c57d13a", 9, [], 1385, false, "ipwx-AzyDNk", "https://www.youtube.com/watch?v=ipwx-AzyDNk", 10, "/downloads/shows/Claire Recreates/Season 2025/s2025e032000 - I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates.mkv", false, false, false, 1, ~U[2025-03-20 14:00:30Z], ~U[2026-04-17 10:49:27Z], ~U[2026-04-17 10:49:27Z], "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on the challenge of recreating beloved childhood snacks and iconic treats—but this time, she’s in new territory. In today’s episode, Claire tackles the Kinder Bueno, attempting to craft the crispy, creamy chocolate bar from scratch—all from a rental kitchen. With limited tools and unfamiliar surroundings, she puts her skills to the test, proving that great recipes can come together anywhere. If you love nostalgic sweets and the thrill of recipe experimentation, this episode is a must-watch!\n\n#kinderbueno #clairesaffitz #chocolate \n\nChapters\n00:00 Intro\n00:26 How To Make Kinder Bueno\n02:46 Measurements\n02:59 Taste test\n04:53 Ingredients\n06:14 Molds\n11:07 How To Make Kinder Bueno Wafers\n18:10 100% polycarbonate\n20:04 Plan B?\n21:37 Lessons learned\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates", 9, 1385, false, "ipwx-AzyDNk", "https://www.youtube.com/watch?v=ipwx-AzyDNk", "/downloads/shows/Claire Recreates/Season 2025/s2025e032000 - I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates.mkv", false, ~U[2025-03-20 14:00:30Z]] 12:49:27.497 [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" = ?) [9] 12:49:27.498 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:49:27.498 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29423] 12:49:27.499 [debug] Current batch of media processed. Will check again in 1000ms 12:49:27.506 [info] GET /sources/5/media/147831/force_download 12:49:27.507 [debug] QUERY OK source="settings" db=0.1ms idle=15.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:27.507 [debug] QUERY OK source="settings" db=0.0ms idle=10.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:49:27.507 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:49:27.507 [error] #PID<0.674241.0> running PinchflatWeb.Endpoint (connection #PID<0.674240.0>, stream id 1) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /sources/5/media/147831/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/147831/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674240.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/147831/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 37552}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edadcf8ceed99fe-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.25", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.25" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.674241.0>, params: %{}, path_info: ["sources", "5", "media", "147831", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9edadcf8ceed99fe-CMH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 162.159.115.25"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "162.159.115.25"} ], request_path: "/sources/5/media/147831/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKcfRu0SDzc90pcAPMxi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674240.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/147831/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 37552}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edadcf8ceed99fe-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.25", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.25" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/147831/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674240.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/147831/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 37552}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edadcf8ceed99fe-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.25", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.25" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, coo (truncated) 12:49:28.499 [debug] Current batch of media processed. Will check again in 1000ms 12:49:29.500 [debug] Current batch of media processed. Will check again in 1000ms 12:49:30.501 [debug] Current batch of media processed. Will check again in 1000ms 12:49:31.502 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Australian Tim Tams | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on one of the most iconic Australian snacks of all time — Tim Tams. Known for their rich chocolate coating, creamy filling, and signature crunchy biscuit texture, Tim Tams are a beloved treat across Australia and beyond. Claire attempts to recreate Tim Tams from scratch, using her precise baking techniques and deep understanding of pastry science to reverse-engineer this layered chocolate biscuit sandwich at home.\n\nWatch as Claire tests different chocolate biscuit recipes, explores the mechanics of the perfect Tim Tam Slam, and tackles the challenge of replicating a store-bought snack with homemade methods. This episode blends Claire’s signature charm with technical baking as she breaks down how to make homemade Tim Tams, one of the most recognizable Australian treats.\n\nIf you’re a fan of nostalgic snack recipes, iconic cookie recreations, or just love watching detailed step-by-step baking challenges, this episode is for you.\n\n#ClaireSaffitz #ClaireRecreates #TimTams #ChocolateBiscuits #BakingChallenge #dessertperson \n\nChapters\n\n00:00 Intro\n00:18 Tim Tams\n01:53 Taste test\n03:56 Measurements\n04:59 Reading the Ingredients\n06:25 Game plan\n06:42 Make cookies / biscuits\n14:14 Use pasta roller\n17:31 Make filling\n19:13 Assemble\n22:02 Enrobe\n23:13 Comparison\n25:38 Cat cam\n\nChocolate biscuit\n1½ cups all-purpose flour\n½ cup unsweetened cocoa powder\n2 tablespoon malted milk powder \n¾ teaspoon kosher salt\n½ teaspoon baking powder \n1 stick unsalted butter, at cool room temperature \n¾ cup sugar\n1 large egg\n2 teaspoons pure vanilla extract\n\nChocolate cream filling: \n150g milk chocolate, chopped\n150g heavy cream\nSalt\n\nChocolate coating \nDark chocolate\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1555, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e050100 - I Tried Making Homemade Australian Tim Tams | Claire Recreates.mkv", "id" => "X5-yAJszoB0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=X5-yAJszoB0", "playlist_index" => 11, "timestamp" => 1746108048, "title" => "I Tried Making Homemade Australian Tim Tams | Claire Recreates", "upload_date" => "20250501"} 12:49:31.503 [debug] QUERY OK source="sources" db=0.3ms idle=864.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:49:31.503 [debug] QUERY OK source="sources" db=0.2ms idle=865.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:31.504 [debug] QUERY OK source="media_items" db=0.2ms idle=865.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-01 14:00:48Z], 9] 12:49:31.506 [debug] QUERY OK source="media_items" db=1.8ms idle=866.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Australian Tim Tams | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on one of the most iconic Australian snacks of all time — Tim Tams. Known for their rich chocolate coating, creamy filling, and signature crunchy biscuit texture, Tim Tams are a beloved treat across Australia and beyond. Claire attempts to recreate Tim Tams from scratch, using her precise baking techniques and deep understanding of pastry science to reverse-engineer this layered chocolate biscuit sandwich at home.\n\nWatch as Claire tests different chocolate biscuit recipes, explores the mechanics of the perfect Tim Tam Slam, and tackles the challenge of replicating a store-bought snack with homemade methods. This episode blends Claire’s signature charm with technical baking as she breaks down how to make homemade Tim Tams, one of the most recognizable Australian treats.\n\nIf you’re a fan of nostalgic snack recipes, iconic cookie recreations, or just love watching detailed step-by-step baking challenges, this episode is for you.\n\n#ClaireSaffitz #ClaireRecreates #TimTams #ChocolateBiscuits #BakingChallenge #dessertperson \n\nChapters\n\n00:00 Intro\n00:18 Tim Tams\n01:53 Taste test\n03:56 Measurements\n04:59 Reading the Ingredients\n06:25 Game plan\n06:42 Make cookies / biscuits\n14:14 Use pasta roller\n17:31 Make filling\n19:13 Assemble\n22:02 Enrobe\n23:13 Comparison\n25:38 Cat cam\n\nChocolate biscuit\n1½ cups all-purpose flour\n½ cup unsweetened cocoa powder\n2 tablespoon malted milk powder \n¾ teaspoon kosher salt\n½ teaspoon baking powder \n1 stick unsalted butter, at cool room temperature \n¾ cup sugar\n1 large egg\n2 teaspoons pure vanilla extract\n\nChocolate cream filling: \n150g milk chocolate, chopped\n150g heavy cream\nSalt\n\nChocolate coating \nDark chocolate\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Australian Tim Tams | Claire Recreates", "a821ddbe-c38f-49fe-9210-81ea139a0f73", 9, [], 1555, false, "X5-yAJszoB0", "https://www.youtube.com/watch?v=X5-yAJszoB0", 11, "/downloads/shows/Claire Recreates/Season 2025/s2025e050100 - I Tried Making Homemade Australian Tim Tams | Claire Recreates.mkv", false, false, false, 1, ~U[2025-05-01 14:00:48Z], ~U[2026-04-17 10:49:31Z], ~U[2026-04-17 10:49:31Z], "I Tried Making Homemade Australian Tim Tams | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on one of the most iconic Australian snacks of all time — Tim Tams. Known for their rich chocolate coating, creamy filling, and signature crunchy biscuit texture, Tim Tams are a beloved treat across Australia and beyond. Claire attempts to recreate Tim Tams from scratch, using her precise baking techniques and deep understanding of pastry science to reverse-engineer this layered chocolate biscuit sandwich at home.\n\nWatch as Claire tests different chocolate biscuit recipes, explores the mechanics of the perfect Tim Tam Slam, and tackles the challenge of replicating a store-bought snack with homemade methods. This episode blends Claire’s signature charm with technical baking as she breaks down how to make homemade Tim Tams, one of the most recognizable Australian treats.\n\nIf you’re a fan of nostalgic snack recipes, iconic cookie recreations, or just love watching detailed step-by-step baking challenges, this episode is for you.\n\n#ClaireSaffitz #ClaireRecreates #TimTams #ChocolateBiscuits #BakingChallenge #dessertperson \n\nChapters\n\n00:00 Intro\n00:18 Tim Tams\n01:53 Taste test\n03:56 Measurements\n04:59 Reading the Ingredients\n06:25 Game plan\n06:42 Make cookies / biscuits\n14:14 Use pasta roller\n17:31 Make filling\n19:13 Assemble\n22:02 Enrobe\n23:13 Comparison\n25:38 Cat cam\n\nChocolate biscuit\n1½ cups all-purpose flour\n½ cup unsweetened cocoa powder\n2 tablespoon malted milk powder \n¾ teaspoon kosher salt\n½ teaspoon baking powder \n1 stick unsalted butter, at cool room temperature \n¾ cup sugar\n1 large egg\n2 teaspoons pure vanilla extract\n\nChocolate cream filling: \n150g milk chocolate, chopped\n150g heavy cream\nSalt\n\nChocolate coating \nDark chocolate\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Australian Tim Tams | Claire Recreates", 9, 1555, false, "X5-yAJszoB0", "https://www.youtube.com/watch?v=X5-yAJszoB0", "/downloads/shows/Claire Recreates/Season 2025/s2025e050100 - I Tried Making Homemade Australian Tim Tams | Claire Recreates.mkv", false, ~U[2025-05-01 14:00:48Z]] 12:49:31.507 [debug] QUERY OK source="sources" db=0.3ms idle=79.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:31.507 [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] 12:49:31.508 [debug] QUERY OK source="media_items" db=0.3ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29434] 12:49:31.508 [debug] Current batch of media processed. Will check again in 1000ms 12:49:32.509 [debug] Current batch of media processed. Will check again in 1000ms 12:49:33.510 [debug] Current batch of media processed. Will check again in 1000ms 12:49:34.416 [info] {"source":"oban","duration":861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:49:34.511 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Tokyo Bananas | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on Japan’s most beloved souvenir treat ... the Tokyo Banana. These soft sponge cakes filled with sweet banana custard are a staple of Japanese train stations, gift shops, and childhood memories. Claire breaks it down step-by-step, making everything from scratch, from the light-as-air sponge cake to the rich banana cream filling.\n\nWhether you’re a Tokyo Banana superfan or discovering this iconic snack for the first time, follow along as Claire gives this classic the Dessert Person™ treatment.\n\n#TokyoBanana #ClaireSaffitz #ClaireRecreates #JapaneseSnacks #BananaCustard #SpongeCakeRecipe #JapaneseBaking #DessertPerson \n\nTOKYO BANANA (Recreates)\n\nSPONGE CAKE\n4 egg yolks, at room temperature\n20g sugar\n40 ml milk \n40g oil\n½ teaspoon vanilla extract\n30g all-purpose flour\n30g cornstarch\n4 egg whites, at room temperature\nPinch of salt \n¼ teaspoon cream of tartar \n60g sugar \n\nBANANA CREAM\n⅓ cup sugar \n3 tablespoons cornstarch\n½ teaspoon Diamond Crystal kosher salt \n4 large egg yolks\n1⅔ cups heavy cream, chilled\n1 cup mashed overripe banana (8.5 oz / 240g), from about 2 medium\n\nChapters\n00:00 Intro\n00:19 Tokyo Banana\n01:05 Smell test\n02:08 Taste test\n02:29 Measurements\n03:56 Reading the ingredients\n05:12 How to make Tokyo Banana\n05:35 Make banana custard + cool\n10:47 How to make chiffon sponge\n17:31 Construction apparatus\n21:57 Assembly + chill\n24:12 Comparison\n26:56 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1634, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e061800 - I Tried Making Homemade Tokyo Bananas | Claire Recreates.mkv", "id" => "RWE_WnFfvcI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RWE_WnFfvcI", "playlist_index" => 12, "timestamp" => 1750255244, "title" => "I Tried Making Homemade Tokyo Bananas | Claire Recreates", "upload_date" => "20250618"} 12:49:34.512 [debug] QUERY OK source="sources" db=0.2ms idle=1868.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:49:34.512 [debug] QUERY OK source="sources" db=0.1ms idle=1869.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:34.513 [debug] QUERY OK source="media_items" db=0.2ms idle=1082.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-18 14:00:44Z], 9] 12:49:34.515 [debug] QUERY OK source="media_items" db=1.4ms idle=97.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Tokyo Bananas | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on Japan’s most beloved souvenir treat ... the Tokyo Banana. These soft sponge cakes filled with sweet banana custard are a staple of Japanese train stations, gift shops, and childhood memories. Claire breaks it down step-by-step, making everything from scratch, from the light-as-air sponge cake to the rich banana cream filling.\n\nWhether you’re a Tokyo Banana superfan or discovering this iconic snack for the first time, follow along as Claire gives this classic the Dessert Person™ treatment.\n\n#TokyoBanana #ClaireSaffitz #ClaireRecreates #JapaneseSnacks #BananaCustard #SpongeCakeRecipe #JapaneseBaking #DessertPerson \n\nTOKYO BANANA (Recreates)\n\nSPONGE CAKE\n4 egg yolks, at room temperature\n20g sugar\n40 ml milk \n40g oil\n½ teaspoon vanilla extract\n30g all-purpose flour\n30g cornstarch\n4 egg whites, at room temperature\nPinch of salt \n¼ teaspoon cream of tartar \n60g sugar \n\nBANANA CREAM\n⅓ cup sugar \n3 tablespoons cornstarch\n½ teaspoon Diamond Crystal kosher salt \n4 large egg yolks\n1⅔ cups heavy cream, chilled\n1 cup mashed overripe banana (8.5 oz / 240g), from about 2 medium\n\nChapters\n00:00 Intro\n00:19 Tokyo Banana\n01:05 Smell test\n02:08 Taste test\n02:29 Measurements\n03:56 Reading the ingredients\n05:12 How to make Tokyo Banana\n05:35 Make banana custard + cool\n10:47 How to make chiffon sponge\n17:31 Construction apparatus\n21:57 Assembly + chill\n24:12 Comparison\n26:56 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Tokyo Bananas | Claire Recreates", "85cdf3c0-e1e9-4615-bed9-8afee3e5d973", 9, [], 1634, false, "RWE_WnFfvcI", "https://www.youtube.com/watch?v=RWE_WnFfvcI", 12, "/downloads/shows/Claire Recreates/Season 2025/s2025e061800 - I Tried Making Homemade Tokyo Bananas | Claire Recreates.mkv", false, false, false, 1, ~U[2025-06-18 14:00:44Z], ~U[2026-04-17 10:49:34Z], ~U[2026-04-17 10:49:34Z], "I Tried Making Homemade Tokyo Bananas | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on Japan’s most beloved souvenir treat ... the Tokyo Banana. These soft sponge cakes filled with sweet banana custard are a staple of Japanese train stations, gift shops, and childhood memories. Claire breaks it down step-by-step, making everything from scratch, from the light-as-air sponge cake to the rich banana cream filling.\n\nWhether you’re a Tokyo Banana superfan or discovering this iconic snack for the first time, follow along as Claire gives this classic the Dessert Person™ treatment.\n\n#TokyoBanana #ClaireSaffitz #ClaireRecreates #JapaneseSnacks #BananaCustard #SpongeCakeRecipe #JapaneseBaking #DessertPerson \n\nTOKYO BANANA (Recreates)\n\nSPONGE CAKE\n4 egg yolks, at room temperature\n20g sugar\n40 ml milk \n40g oil\n½ teaspoon vanilla extract\n30g all-purpose flour\n30g cornstarch\n4 egg whites, at room temperature\nPinch of salt \n¼ teaspoon cream of tartar \n60g sugar \n\nBANANA CREAM\n⅓ cup sugar \n3 tablespoons cornstarch\n½ teaspoon Diamond Crystal kosher salt \n4 large egg yolks\n1⅔ cups heavy cream, chilled\n1 cup mashed overripe banana (8.5 oz / 240g), from about 2 medium\n\nChapters\n00:00 Intro\n00:19 Tokyo Banana\n01:05 Smell test\n02:08 Taste test\n02:29 Measurements\n03:56 Reading the ingredients\n05:12 How to make Tokyo Banana\n05:35 Make banana custard + cool\n10:47 How to make chiffon sponge\n17:31 Construction apparatus\n21:57 Assembly + chill\n24:12 Comparison\n26:56 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Tokyo Bananas | Claire Recreates", 9, 1634, false, "RWE_WnFfvcI", "https://www.youtube.com/watch?v=RWE_WnFfvcI", "/downloads/shows/Claire Recreates/Season 2025/s2025e061800 - I Tried Making Homemade Tokyo Bananas | Claire Recreates.mkv", false, ~U[2025-06-18 14:00:44Z]] 12:49:34.515 [debug] QUERY OK source="sources" db=0.2ms idle=84.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:34.516 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:49:34.516 [debug] QUERY OK source="media_items" db=0.3ms 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 [43875] 12:49:34.516 [debug] Current batch of media processed. Will check again in 1000ms 12:49:35.517 [debug] Current batch of media processed. Will check again in 1000ms 12:49:36.518 [debug] Current batch of media processed. Will check again in 1000ms 12:49:37.519 [debug] Current batch of media processed. Will check again in 1000ms 12:49:38.520 [debug] Current batch of media processed. Will check again in 1000ms 12:49:39.521 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates\nJoin Claire Saffitz in this episode of Claire Recreates as she takes on the beloved Mexican snack cake, Gansitos. From fluffy sponge cake to rich strawberry jam, creamy filling, and a decadent chocolate coating, Claire shows you how to recreate this nostalgic treat from scratch. Whether you grew up with Gansitos or are discovering them for the first time, this recipe is a delicious trip down memory lane.\nFilmed with baking techniques and inspired by the original Marinela Gansito, Claire walks through every step, sharing tips, baking science, and fun behind-the-scenes moments. Perfect for fans of Mexican desserts, snack cake lovers, and anyone curious about making iconic treats at home.\n\n#gansitos #cake #clairesaffitz #snackcake #chocolatedessert #strawberry \n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin → softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla extract\n\nSTRAWBERRY JELLY\n\nSPONGE CAKE\n4 large eggs, whites and yolks separated, at room temperature\n½ cup (100g) granulated sugar, divided\n4 tablespoons whole milk (60ml)\n½ teaspoon kosher salt\n¼ teaspoon cream of tartar\n¼ cup neutral oil\n⅔ cup (85g) all-purpose flour\n1 teaspoon vanilla extract\n\nChapters:\n00:00 Intro\n00:29 Gansitos\n00:58 First impressions\n01:19 Smell test\n01:29 Taste test\n01:57 Measurements\n03:17 Reading the Ingredients\n06:26 Game plan\n06:42 Make sprinkles\n09:50 Strawberry jelly\n10:57 Trip to apple orchard\n11:44 Strawberry jelly continued\n12:38 Bake sponge\n21:55 Creme filling\n25:40 Chocolate poured fondant + assembly\n29:37 Comparison\n31:42 Cat cam\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1919, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e081400 - I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates.mkv", "id" => "k9rGZzQswI0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=k9rGZzQswI0", "playlist_index" => 13, "timestamp" => 1755180068, "title" => "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates", "upload_date" => "20250814"} 12:49:39.522 [debug] QUERY OK source="sources" db=0.1ms idle=1879.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:49:39.522 [debug] QUERY OK source="sources" db=0.1ms idle=1879.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:39.523 [debug] QUERY OK source="media_items" db=0.2ms idle=1880.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 14:01:08Z], 9] 12:49:39.525 [debug] QUERY OK source="media_items" db=1.9ms idle=1087.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates\nJoin Claire Saffitz in this episode of Claire Recreates as she takes on the beloved Mexican snack cake, Gansitos. From fluffy sponge cake to rich strawberry jam, creamy filling, and a decadent chocolate coating, Claire shows you how to recreate this nostalgic treat from scratch. Whether you grew up with Gansitos or are discovering them for the first time, this recipe is a delicious trip down memory lane.\nFilmed with baking techniques and inspired by the original Marinela Gansito, Claire walks through every step, sharing tips, baking science, and fun behind-the-scenes moments. Perfect for fans of Mexican desserts, snack cake lovers, and anyone curious about making iconic treats at home.\n\n#gansitos #cake #clairesaffitz #snackcake #chocolatedessert #strawberry \n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin → softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla extract\n\nSTRAWBERRY JELLY\n\nSPONGE CAKE\n4 large eggs, whites and yolks separated, at room temperature\n½ cup (100g) granulated sugar, divided\n4 tablespoons whole milk (60ml)\n½ teaspoon kosher salt\n¼ teaspoon cream of tartar\n¼ cup neutral oil\n⅔ cup (85g) all-purpose flour\n1 teaspoon vanilla extract\n\nChapters:\n00:00 Intro\n00:29 Gansitos\n00:58 First impressions\n01:19 Smell test\n01:29 Taste test\n01:57 Measurements\n03:17 Reading the Ingredients\n06:26 Game plan\n06:42 Make sprinkles\n09:50 Strawberry jelly\n10:57 Trip to apple orchard\n11:44 Strawberry jelly continued\n12:38 Bake sponge\n21:55 Creme filling\n25:40 Chocolate poured fondant + assembly\n29:37 Comparison\n31:42 Cat cam\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates", "1462c04c-2dd7-4c49-851b-61e1d59064c6", 9, [], 1919, false, "k9rGZzQswI0", "https://www.youtube.com/watch?v=k9rGZzQswI0", 13, "/downloads/shows/Claire Recreates/Season 2025/s2025e081400 - I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates.mkv", false, false, false, 1, ~U[2025-08-14 14:01:08Z], ~U[2026-04-17 10:49:39Z], ~U[2026-04-17 10:49:39Z], "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates\nJoin Claire Saffitz in this episode of Claire Recreates as she takes on the beloved Mexican snack cake, Gansitos. From fluffy sponge cake to rich strawberry jam, creamy filling, and a decadent chocolate coating, Claire shows you how to recreate this nostalgic treat from scratch. Whether you grew up with Gansitos or are discovering them for the first time, this recipe is a delicious trip down memory lane.\nFilmed with baking techniques and inspired by the original Marinela Gansito, Claire walks through every step, sharing tips, baking science, and fun behind-the-scenes moments. Perfect for fans of Mexican desserts, snack cake lovers, and anyone curious about making iconic treats at home.\n\n#gansitos #cake #clairesaffitz #snackcake #chocolatedessert #strawberry \n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin → softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla extract\n\nSTRAWBERRY JELLY\n\nSPONGE CAKE\n4 large eggs, whites and yolks separated, at room temperature\n½ cup (100g) granulated sugar, divided\n4 tablespoons whole milk (60ml)\n½ teaspoon kosher salt\n¼ teaspoon cream of tartar\n¼ cup neutral oil\n⅔ cup (85g) all-purpose flour\n1 teaspoon vanilla extract\n\nChapters:\n00:00 Intro\n00:29 Gansitos\n00:58 First impressions\n01:19 Smell test\n01:29 Taste test\n01:57 Measurements\n03:17 Reading the Ingredients\n06:26 Game plan\n06:42 Make sprinkles\n09:50 Strawberry jelly\n10:57 Trip to apple orchard\n11:44 Strawberry jelly continued\n12:38 Bake sponge\n21:55 Creme filling\n25:40 Chocolate poured fondant + assembly\n29:37 Comparison\n31:42 Cat cam\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates", 9, 1919, false, "k9rGZzQswI0", "https://www.youtube.com/watch?v=k9rGZzQswI0", "/downloads/shows/Claire Recreates/Season 2025/s2025e081400 - I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates.mkv", false, ~U[2025-08-14 14:01:08Z]] 12:49:39.526 [debug] QUERY OK source="sources" db=0.1ms idle=88.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:39.526 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:49:39.527 [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 [62328] 12:49:39.527 [debug] Current batch of media processed. Will check again in 1000ms 12:49:40.528 [debug] Current batch of media processed. Will check again in 1000ms 12:49:41.529 [debug] Current batch of media processed. Will check again in 1000ms 12:49:42.530 [debug] Current batch of media processed. Will check again in 1000ms 12:49:43.539 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates\nCan Claire Saffitz recreate the iconic Nutter Butter cookie at home? In this episode of Claire Recreates, Claire takes on the challenge of making homemade Nutter Butters completely from scratch. She bakes crunchy peanut shaped cookies and fills them with creamy peanut butter frosting.\n\nFrom mixing the dough to shaping the classic peanut design and testing the filling, Claire shows every step of the process as she compares homemade vs store bought Nutter Butters. Does the DIY version hold up against the nostalgic packaged cookie? Watch to find out.\n\nIf you have ever wondered how to make Nutter Butter cookies at home or wanted to see how they compare to the original, this video has the recipes, techniques, and taste test you are looking for.\n\n#ClaireSaffitz #ClaireRecreates #NutterButter #HomemadeCookies #baking \n\nIngredients:\nDOUGH\n2½ cups all-purpose flour \n½ teaspoon whole wheat flour \n¼ teaspoon baking soda\n1½ teaspoons Diamond Crystal kosher salt\n2 sticks unsalted butter, at room temperature\n1 cup granulated sugar\n1 cup natural smooth peanut butter\n2 large eggs (3.5 oz / 100g)\n1 teaspoon vanilla extract\nFILLING\n1 cup smooth natural peanut butter \n½ tsp. vanilla extract \nKosher salt\n¼ cup sugar\n3 tablespoons corn syrup\n1 tablespoon honey \n2 tablespoons butter \n\nChapters\n00:00 Intro\n00:16 How To Make Nutter Butter Cookies\n00:40 First impressions\n01:53 Ingredients\n02:54 Measurements\n04:01 Wood carving kit\n05:08 Game plan\n05:20 Cookie stamp\n10:02 Make Nutter Butter Cookies\n19:15 Bake\n20:57 Filling\n23:09 Assembly\n23:38 Comparison\n25:23 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1540, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e092600 - I Tried Making Homemade Nutter Butter Cookies | Claire Recreates.mkv", "id" => "ck6D0SdiYA0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ck6D0SdiYA0", "playlist_index" => 14, "timestamp" => 1758895274, "title" => "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates", "upload_date" => "20250926"} 12:49:43.541 [debug] QUERY OK source="sources" db=0.9ms idle=897.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:49:43.546 [debug] QUERY OK source="sources" db=2.7ms queue=1.9ms idle=899.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:43.547 [debug] QUERY OK source="media_items" db=1.0ms queue=0.1ms idle=904.0ms SELECT max(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:14Z], 9] 12:49:43.555 [debug] QUERY OK source="media_items" db=4.2ms idle=906.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Nutter Butter Cookies | Claire Recreates\nCan Claire Saffitz recreate the iconic Nutter Butter cookie at home? In this episode of Claire Recreates, Claire takes on the challenge of making homemade Nutter Butters completely from scratch. She bakes crunchy peanut shaped cookies and fills them with creamy peanut butter frosting.\n\nFrom mixing the dough to shaping the classic peanut design and testing the filling, Claire shows every step of the process as she compares homemade vs store bought Nutter Butters. Does the DIY version hold up against the nostalgic packaged cookie? Watch to find out.\n\nIf you have ever wondered how to make Nutter Butter cookies at home or wanted to see how they compare to the original, this video has the recipes, techniques, and taste test you are looking for.\n\n#ClaireSaffitz #ClaireRecreates #NutterButter #HomemadeCookies #baking \n\nIngredients:\nDOUGH\n2½ cups all-purpose flour \n½ teaspoon whole wheat flour \n¼ teaspoon baking soda\n1½ teaspoons Diamond Crystal kosher salt\n2 sticks unsalted butter, at room temperature\n1 cup granulated sugar\n1 cup natural smooth peanut butter\n2 large eggs (3.5 oz / 100g)\n1 teaspoon vanilla extract\nFILLING\n1 cup smooth natural peanut butter \n½ tsp. vanilla extract \nKosher salt\n¼ cup sugar\n3 tablespoons corn syrup\n1 tablespoon honey \n2 tablespoons butter \n\nChapters\n00:00 Intro\n00:16 How To Make Nutter Butter Cookies\n00:40 First impressions\n01:53 Ingredients\n02:54 Measurements\n04:01 Wood carving kit\n05:08 Game plan\n05:20 Cookie stamp\n10:02 Make Nutter Butter Cookies\n19:15 Bake\n20:57 Filling\n23:09 Assembly\n23:38 Comparison\n25:23 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates", "5173ffbe-8b7f-4b92-abb7-4de11833503c", 9, [], 1540, false, "ck6D0SdiYA0", "https://www.youtube.com/watch?v=ck6D0SdiYA0", 14, "/downloads/shows/Claire Recreates/Season 2025/s2025e092600 - I Tried Making Homemade Nutter Butter Cookies | Claire Recreates.mkv", false, false, false, 1, ~U[2025-09-26 14:01:14Z], ~U[2026-04-17 10:49:43Z], ~U[2026-04-17 10:49:43Z], "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates\nCan Claire Saffitz recreate the iconic Nutter Butter cookie at home? In this episode of Claire Recreates, Claire takes on the challenge of making homemade Nutter Butters completely from scratch. She bakes crunchy peanut shaped cookies and fills them with creamy peanut butter frosting.\n\nFrom mixing the dough to shaping the classic peanut design and testing the filling, Claire shows every step of the process as she compares homemade vs store bought Nutter Butters. Does the DIY version hold up against the nostalgic packaged cookie? Watch to find out.\n\nIf you have ever wondered how to make Nutter Butter cookies at home or wanted to see how they compare to the original, this video has the recipes, techniques, and taste test you are looking for.\n\n#ClaireSaffitz #ClaireRecreates #NutterButter #HomemadeCookies #baking \n\nIngredients:\nDOUGH\n2½ cups all-purpose flour \n½ teaspoon whole wheat flour \n¼ teaspoon baking soda\n1½ teaspoons Diamond Crystal kosher salt\n2 sticks unsalted butter, at room temperature\n1 cup granulated sugar\n1 cup natural smooth peanut butter\n2 large eggs (3.5 oz / 100g)\n1 teaspoon vanilla extract\nFILLING\n1 cup smooth natural peanut butter \n½ tsp. vanilla extract \nKosher salt\n¼ cup sugar\n3 tablespoons corn syrup\n1 tablespoon honey \n2 tablespoons butter \n\nChapters\n00:00 Intro\n00:16 How To Make Nutter Butter Cookies\n00:40 First impressions\n01:53 Ingredients\n02:54 Measurements\n04:01 Wood carving kit\n05:08 Game plan\n05:20 Cookie stamp\n10:02 Make Nutter Butter Cookies\n19:15 Bake\n20:57 Filling\n23:09 Assembly\n23:38 Comparison\n25:23 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates", 9, 1540, false, "ck6D0SdiYA0", "https://www.youtube.com/watch?v=ck6D0SdiYA0", "/downloads/shows/Claire Recreates/Season 2025/s2025e092600 - I Tried Making Homemade Nutter Butter Cookies | Claire Recreates.mkv", false, ~U[2025-09-26 14:01:14Z]] 12:49:43.556 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=101.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:43.557 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.3ms idle=15.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:49:43.558 [debug] QUERY OK source="media_items" db=0.7ms 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 [76761] 12:49:43.559 [debug] Current batch of media processed. Will check again in 1000ms 12:49:44.560 [debug] Current batch of media processed. Will check again in 1000ms 12:49:45.561 [debug] Current batch of media processed. Will check again in 1000ms 12:49:46.562 [debug] Current batch of media processed. Will check again in 1000ms 12:49:47.563 [debug] Current batch of media processed. Will check again in 1000ms 12:49:48.564 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "Many thanks to our sponsor for today’s episode, Cometeer. If you’re interested in trying curated coffees from top roasters like Onyx, Proud Mary, and Intelligentsia, you can save $20 on your Discovery Box order by using the link http://cometeer.com/clairesaffitz . It’s the perfect way to start your morning or to give as a thoughtful gift this holiday season.\n\nI Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates \nIn this episode of Claire Recreates, Claire takes on the new-ish Hostess Iced Pumpkin Cupcake and makes it completely from scratch at home. Every fall, this limited-edition treat shows up in grocery stores and reminds us that pumpkin season has officially started. Claire dives into what makes it so nostalgic - the spiced pumpkin cake, the creamy filling, and that signature orange icing swirl -then recreates each element in her own kitchen.\n\nYou’ll see how she builds the cupcake step by step, from baking the soft pumpkin base to mixing the fluffy cream center and topping it with a smooth icing. She also shares a few tricks for getting the flavor and texture as close as possible to the original. Whether you’ve been waiting all year for pumpkin desserts or just love seeing classic snacks get a homemade twist, this one will make you want to preheat your oven.\n\nWatch until the end to see if Claire can match the look and taste of the real Hostess version, and find out how her homemade cupcakes compare. \n\nSubscribe for more recreations of nostalgic snacks and fall baking recipes, and let us know what Claire should tackle next.\n\n#ClaireRecreates #FallBaking #PumpkinDessert\n\nChapters\n00:00 Intro\n00:27 First impressions\n01:23 Smell test\n01:43 Taste test\n02:16 Measurements\n03:09 Reading the ingredients\n05:07 How To Make Iced Pumpkin Cupcakes\n06:43 How To Bake Cupcakes\n15:01 Coffee break\n16:40 Troubleshooting cupcakes\n19:44 How To Make Icing For Cupcakes\n27:40 Icing + decorating\n29:39 Comparison\n32:41 Cat cam\n\n\nIngredients\n\nCake\n1 cup mashed cooked sugar pumpkin (8.2 oz / 232g)\n⅓ cup milk\n1 teaspoon vanilla extract\n1½ cups all-purpose flour (7 oz / 200g)\n1½ teaspoons baking powder (0.21 oz / 6g)\n½ teaspoon ground cinnamon\n½ teaspoon Chinese five spice powder\n½ teaspoon ground turmeric\n¾ teaspoon Diamond Crystal kosher salt\n2 large eggs (3.5 oz / 100g), at room temperature\n¾ cup sugar (6.2 oz / 175g)\n¼ cup brown sugar\n½ cup neutral oil (3.9 oz / 110g)\n\nMarshmallow Filling\n38g water\n75g granulated sugar\n117g light corn syrup\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla paste\n\nIcing\nConfectioners’ sugar\nSour cream\nCorn syrup\nSalt\nVanilla\n\nSquiggles\nConfectioners’ sugar\nTurmeric\nBeet powder\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1979, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e102300 - I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates.mkv", "id" => "-veNfe5ZUF0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-veNfe5ZUF0", "playlist_index" => 15, "timestamp" => 1761228001, "title" => "I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates", "upload_date" => "20251023"} 12:49:48.565 [debug] QUERY OK source="sources" db=0.2ms idle=1922.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:49:48.566 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1923.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:48.566 [debug] QUERY OK source="media_items" db=0.1ms idle=1923.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 14:00:01Z], 9] 12:49:48.570 [debug] QUERY OK source="media_items" db=2.5ms idle=1107.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Many thanks to our sponsor for today’s episode, Cometeer. If you’re interested in trying curated coffees from top roasters like Onyx, Proud Mary, and Intelligentsia, you can save $20 on your Discovery Box order by using the link http://cometeer.com/clairesaffitz . It’s the perfect way to start your morning or to give as a thoughtful gift this holiday season.\n\nI Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates \nIn this episode of Claire Recreates, Claire takes on the new-ish Hostess Iced Pumpkin Cupcake and makes it completely from scratch at home. Every fall, this limited-edition treat shows up in grocery stores and reminds us that pumpkin season has officially started. Claire dives into what makes it so nostalgic - the spiced pumpkin cake, the creamy filling, and that signature orange icing swirl -then recreates each element in her own kitchen.\n\nYou’ll see how she builds the cupcake step by step, from baking the soft pumpkin base to mixing the fluffy cream center and topping it with a smooth icing. She also shares a few tricks for getting the flavor and texture as close as possible to the original. Whether you’ve been waiting all year for pumpkin desserts or just love seeing classic snacks get a homemade twist, this one will make you want to preheat your oven.\n\nWatch until the end to see if Claire can match the look and taste of the real Hostess version, and find out how her homemade cupcakes compare. \n\nSubscribe for more recreations of nostalgic snacks and fall baking recipes, and let us know what Claire should tackle next.\n\n#ClaireRecreates #FallBaking #PumpkinDessert\n\nChapters\n00:00 Intro\n00:27 First impressions\n01:23 Smell test\n01:43 Taste test\n02:16 Measurements\n03:09 Reading the ingredients\n05:07 How To Make Iced Pumpkin Cupcakes\n06:43 How To Bake Cupcakes\n15:01 Coffee break\n16:40 Troubleshooting cupcakes\n19:44 How To Make Icing For Cupcakes\n27:40 Icing + decorating\n29:39 Comparison\n32:41 Cat cam\n\n\nIngredients\n\nCake\n1 cup mashed cooked sugar pumpkin (8.2 oz / 232g)\n⅓ cup milk\n1 teaspoon vanilla extract\n1½ cups all-purpose flour (7 oz / 200g)\n1½ teaspoons baking powder (0.21 oz / 6g)\n½ teaspoon ground cinnamon\n½ teaspoon Chinese five spice powder\n½ teaspoon ground turmeric\n¾ teaspoon Diamond Crystal kosher salt\n2 large eggs (3.5 oz / 100g), at room temperature\n¾ cup sugar (6.2 oz / 175g)\n¼ cup brown sugar\n½ cup neutral oil (3.9 oz / 110g)\n\nMarshmallow Filling\n38g water\n75g granulated sugar\n117g light corn syrup\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla paste\n\nIcing\nConfectioners’ sugar\nSour cream\nCorn syrup\nSalt\nVanilla\n\nSquiggles\nConfectioners’ sugar\nTurmeric\nBeet powder\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates", "e3c6d46a-9793-4c64-b809-f90f12094b48", 9, [], 1979, false, "-veNfe5ZUF0", "https://www.youtube.com/watch?v=-veNfe5ZUF0", 15, "/downloads/shows/Claire Recreates/Season 2025/s2025e102300 - I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates.mkv", false, false, false, 1, ~U[2025-10-23 14:00:01Z], ~U[2026-04-17 10:49:48Z], ~U[2026-04-17 10:49:48Z], "Many thanks to our sponsor for today’s episode, Cometeer. If you’re interested in trying curated coffees from top roasters like Onyx, Proud Mary, and Intelligentsia, you can save $20 on your Discovery Box order by using the link http://cometeer.com/clairesaffitz . It’s the perfect way to start your morning or to give as a thoughtful gift this holiday season.\n\nI Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates \nIn this episode of Claire Recreates, Claire takes on the new-ish Hostess Iced Pumpkin Cupcake and makes it completely from scratch at home. Every fall, this limited-edition treat shows up in grocery stores and reminds us that pumpkin season has officially started. Claire dives into what makes it so nostalgic - the spiced pumpkin cake, the creamy filling, and that signature orange icing swirl -then recreates each element in her own kitchen.\n\nYou’ll see how she builds the cupcake step by step, from baking the soft pumpkin base to mixing the fluffy cream center and topping it with a smooth icing. She also shares a few tricks for getting the flavor and texture as close as possible to the original. Whether you’ve been waiting all year for pumpkin desserts or just love seeing classic snacks get a homemade twist, this one will make you want to preheat your oven.\n\nWatch until the end to see if Claire can match the look and taste of the real Hostess version, and find out how her homemade cupcakes compare. \n\nSubscribe for more recreations of nostalgic snacks and fall baking recipes, and let us know what Claire should tackle next.\n\n#ClaireRecreates #FallBaking #PumpkinDessert\n\nChapters\n00:00 Intro\n00:27 First impressions\n01:23 Smell test\n01:43 Taste test\n02:16 Measurements\n03:09 Reading the ingredients\n05:07 How To Make Iced Pumpkin Cupcakes\n06:43 How To Bake Cupcakes\n15:01 Coffee break\n16:40 Troubleshooting cupcakes\n19:44 How To Make Icing For Cupcakes\n27:40 Icing + decorating\n29:39 Comparison\n32:41 Cat cam\n\n\nIngredients\n\nCake\n1 cup mashed cooked sugar pumpkin (8.2 oz / 232g)\n⅓ cup milk\n1 teaspoon vanilla extract\n1½ cups all-purpose flour (7 oz / 200g)\n1½ teaspoons baking powder (0.21 oz / 6g)\n½ teaspoon ground cinnamon\n½ teaspoon Chinese five spice powder\n½ teaspoon ground turmeric\n¾ teaspoon Diamond Crystal kosher salt\n2 large eggs (3.5 oz / 100g), at room temperature\n¾ cup sugar (6.2 oz / 175g)\n¼ cup brown sugar\n½ cup neutral oil (3.9 oz / 110g)\n\nMarshmallow Filling\n38g water\n75g granulated sugar\n117g light corn syrup\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla paste\n\nIcing\nConfectioners’ sugar\nSour cream\nCorn syrup\nSalt\nVanilla\n\nSquiggles\nConfectioners’ sugar\nTurmeric\nBeet powder\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates", 9, 1979, false, "-veNfe5ZUF0", "https://www.youtube.com/watch?v=-veNfe5ZUF0", "/d (truncated) 12:49:48.570 [debug] QUERY OK source="sources" db=0.2ms idle=110.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:48.571 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:49:48.571 [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 [86669] 12:49:48.572 [debug] Current batch of media processed. Will check again in 1000ms 12:49:49.572 [debug] Current batch of media processed. Will check again in 1000ms 12:49:50.573 [debug] Current batch of media processed. Will check again in 1000ms 12:49:51.574 [debug] Current batch of media processed. Will check again in 1000ms 12:49:52.575 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "In this episode of Dessert Person, Claire Saffitz makes Pommes Anna, a classic French potato dish that’s as elegant as it is comforting. Using freshly dug potatoes from her garden, Claire layers thinly sliced potatoes with rosemary-infused butter, garlic, salt, and pepper, then bakes them until crisp and golden on the outside and tender inside.\n\nThis recipe is simple, refined, and ideal for the holidays - perfect alongside roast chicken, turkey, or any festive centerpiece. Claire shares her tips for even slicing, layering for the best texture, and how to unmold Pommes Anna beautifully for your table.\n\nIf you’re looking for a holiday side that feels both classic and special, this is it.\n\n#thanksgiving #potatorecipe #clairesaffitz #holiday \n\nChapters\n00:00 Intro\n01:31 Ingredients & Special Equipment\n02:25 Infuse the Butter & Prepare the Potatoes\n10:24 Cook & Bake\n11:26 Remove & Let Cool\n12:26 Serve\n14:26 Cat cam\n\nIngredients\n1 stick unsalted butter\n2 sprigs fresh rosemary\n2 garlic cloves, smashed and peeled\n3 lbs medium potatoes, peeled and held in room temperature tap water\nKosher salt\nFreshly ground black pepper\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 883, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e103000 - The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz.mkv", "id" => "ch3TBJkVkTY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ch3TBJkVkTY", "playlist_index" => 16, "timestamp" => 1761832870, "title" => "The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz", "upload_date" => "20251030"} 12:49:52.576 [debug] QUERY OK source="sources" db=0.3ms idle=933.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:49:52.576 [debug] QUERY OK source="sources" db=0.1ms idle=934.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:52.577 [debug] QUERY OK source="media_items" db=0.1ms idle=934.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 14:01:10Z], 9] 12:49:52.579 [debug] QUERY OK source="media_items" db=1.6ms idle=934.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this episode of Dessert Person, Claire Saffitz makes Pommes Anna, a classic French potato dish that’s as elegant as it is comforting. Using freshly dug potatoes from her garden, Claire layers thinly sliced potatoes with rosemary-infused butter, garlic, salt, and pepper, then bakes them until crisp and golden on the outside and tender inside.\n\nThis recipe is simple, refined, and ideal for the holidays - perfect alongside roast chicken, turkey, or any festive centerpiece. Claire shares her tips for even slicing, layering for the best texture, and how to unmold Pommes Anna beautifully for your table.\n\nIf you’re looking for a holiday side that feels both classic and special, this is it.\n\n#thanksgiving #potatorecipe #clairesaffitz #holiday \n\nChapters\n00:00 Intro\n01:31 Ingredients & Special Equipment\n02:25 Infuse the Butter & Prepare the Potatoes\n10:24 Cook & Bake\n11:26 Remove & Let Cool\n12:26 Serve\n14:26 Cat cam\n\nIngredients\n1 stick unsalted butter\n2 sprigs fresh rosemary\n2 garlic cloves, smashed and peeled\n3 lbs medium potatoes, peeled and held in room temperature tap water\nKosher salt\nFreshly ground black pepper\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz", "3b0ecb73-de76-4a0f-829d-9e344d4688f3", 9, [], 883, false, "ch3TBJkVkTY", "https://www.youtube.com/watch?v=ch3TBJkVkTY", 16, "/downloads/shows/Claire Recreates/Season 2025/s2025e103000 - The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz.mkv", false, false, false, 1, ~U[2025-10-30 14:01:10Z], ~U[2026-04-17 10:49:52Z], ~U[2026-04-17 10:49:52Z], "In this episode of Dessert Person, Claire Saffitz makes Pommes Anna, a classic French potato dish that’s as elegant as it is comforting. Using freshly dug potatoes from her garden, Claire layers thinly sliced potatoes with rosemary-infused butter, garlic, salt, and pepper, then bakes them until crisp and golden on the outside and tender inside.\n\nThis recipe is simple, refined, and ideal for the holidays - perfect alongside roast chicken, turkey, or any festive centerpiece. Claire shares her tips for even slicing, layering for the best texture, and how to unmold Pommes Anna beautifully for your table.\n\nIf you’re looking for a holiday side that feels both classic and special, this is it.\n\n#thanksgiving #potatorecipe #clairesaffitz #holiday \n\nChapters\n00:00 Intro\n01:31 Ingredients & Special Equipment\n02:25 Infuse the Butter & Prepare the Potatoes\n10:24 Cook & Bake\n11:26 Remove & Let Cool\n12:26 Serve\n14:26 Cat cam\n\nIngredients\n1 stick unsalted butter\n2 sprigs fresh rosemary\n2 garlic cloves, smashed and peeled\n3 lbs medium potatoes, peeled and held in room temperature tap water\nKosher salt\nFreshly ground black pepper\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz", 9, 883, false, "ch3TBJkVkTY", "https://www.youtube.com/watch?v=ch3TBJkVkTY", "/downloads/shows/Claire Recreates/Season 2025/s2025e103000 - The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz.mkv", false, ~U[2025-10-30 14:01:10Z]] 12:49:52.579 [debug] QUERY OK source="sources" db=0.2ms idle=115.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:52.580 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:49:52.580 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [89428] 12:49:52.581 [debug] Current batch of media processed. Will check again in 1000ms 12:49:53.581 [debug] Current batch of media processed. Will check again in 1000ms 12:49:54.582 [debug] Current batch of media processed. Will check again in 1000ms 12:49:55.583 [debug] Current batch of media processed. Will check again in 1000ms 12:49:56.584 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates\nIn this episode of Claire Recreates, Claire tackles a true lunchbox classic: the Little Debbie Honey Bun. Soft, sticky, sweet, and glazed, Honey Buns are one of the most iconic packaged pastries around and recreating them at home is a labor of love. Claire dives into what makes the original so nostalgic, from the enriched dough and spiraled shape to the signature sticky-sweet glaze.\n\nYou’ll watch as she mixes and proofs the dough, rolls and cuts each bun, then fries them to get that signature tender, slightly chewy texture. Once they’re golden, she finishes them with a warm honey glaze that melts into all the nooks and crannies, giving them that unmistakable glossy sheen.\n\nAlong the way, Claire shares tips for developing flavor in the dough, keeping the buns soft after frying, and getting the glaze just right. Whether you grew up eating Honey Buns on the go or just love seeing nostalgic snacks recreated from scratch, this episode is pure sticky-sweet comfort.\n\nStick around until the end to see how Claire’s homemade Honey Buns compare to the Little Debbie original, and whether she can truly match the iconic taste and look.\n\nSubscribe for more recreations of nostalgic snacks and comfort-food favorites, and let us know what Claire should take on next.\n\n#ClaireRecreates #HoneyBuns #LittleDebbie\n\nChapters\n00:00 Intro\n00:15 First impressions\n00:54 Smell test\n02:12 Taste test\n02:49 Reading the ingredients\n04:44 Measurements\n06:16 Game plan\n06:40 Dough Rise\n13:29 Form buns (swirl) Proof\n21:21 Frying Glazing\n27:24 Comparison\n30:17 Cat cam\n\nDOUGH\n¾ cup whole milk\n38g plus 368g all-purpose flour\n3 large eggs, chilled\n1½ tablespoons vegetable oil\n1½ tablespoons granulated sugar\n1½ tablespoons honey\n8 grams kosher salt\n1½ teaspoons instant yeast\n85g unsalted butter, cut into ½-inch pieces, chilled\nNeutral oil, for frying\n\nSWIRL\nWater + Cinnamon\n\nGLAZE\n½ cup whole milk\n2 tablespoons unsalted butter\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1835, "filename" => "/downloads/shows/Claire Recreates/Season 2025/s2025e120400 - I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates.mkv", "id" => "CViDoQkqf24", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CViDoQkqf24", "playlist_index" => 17, "timestamp" => 1764860432, "title" => "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates", "upload_date" => "20251204"} 12:49:56.585 [debug] QUERY OK source="sources" db=0.2ms idle=942.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:49:56.585 [debug] QUERY OK source="sources" db=0.1ms idle=943.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:56.586 [debug] QUERY OK source="media_items" db=0.1ms idle=943.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-04 15:00:32Z], 9] 12:49:56.589 [debug] QUERY OK source="media_items" db=2.0ms idle=943.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates\nIn this episode of Claire Recreates, Claire tackles a true lunchbox classic: the Little Debbie Honey Bun. Soft, sticky, sweet, and glazed, Honey Buns are one of the most iconic packaged pastries around and recreating them at home is a labor of love. Claire dives into what makes the original so nostalgic, from the enriched dough and spiraled shape to the signature sticky-sweet glaze.\n\nYou’ll watch as she mixes and proofs the dough, rolls and cuts each bun, then fries them to get that signature tender, slightly chewy texture. Once they’re golden, she finishes them with a warm honey glaze that melts into all the nooks and crannies, giving them that unmistakable glossy sheen.\n\nAlong the way, Claire shares tips for developing flavor in the dough, keeping the buns soft after frying, and getting the glaze just right. Whether you grew up eating Honey Buns on the go or just love seeing nostalgic snacks recreated from scratch, this episode is pure sticky-sweet comfort.\n\nStick around until the end to see how Claire’s homemade Honey Buns compare to the Little Debbie original, and whether she can truly match the iconic taste and look.\n\nSubscribe for more recreations of nostalgic snacks and comfort-food favorites, and let us know what Claire should take on next.\n\n#ClaireRecreates #HoneyBuns #LittleDebbie\n\nChapters\n00:00 Intro\n00:15 First impressions\n00:54 Smell test\n02:12 Taste test\n02:49 Reading the ingredients\n04:44 Measurements\n06:16 Game plan\n06:40 Dough Rise\n13:29 Form buns (swirl) Proof\n21:21 Frying Glazing\n27:24 Comparison\n30:17 Cat cam\n\nDOUGH\n¾ cup whole milk\n38g plus 368g all-purpose flour\n3 large eggs, chilled\n1½ tablespoons vegetable oil\n1½ tablespoons granulated sugar\n1½ tablespoons honey\n8 grams kosher salt\n1½ teaspoons instant yeast\n85g unsalted butter, cut into ½-inch pieces, chilled\nNeutral oil, for frying\n\nSWIRL\nWater + Cinnamon\n\nGLAZE\n½ cup whole milk\n2 tablespoons unsalted butter\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates", "4984df97-cf91-4aac-8518-99c3c3d85184", 9, [], 1835, false, "CViDoQkqf24", "https://www.youtube.com/watch?v=CViDoQkqf24", 17, "/downloads/shows/Claire Recreates/Season 2025/s2025e120400 - I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates.mkv", false, false, false, 1, ~U[2025-12-04 15:00:32Z], ~U[2026-04-17 10:49:56Z], ~U[2026-04-17 10:49:56Z], "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates\nIn this episode of Claire Recreates, Claire tackles a true lunchbox classic: the Little Debbie Honey Bun. Soft, sticky, sweet, and glazed, Honey Buns are one of the most iconic packaged pastries around and recreating them at home is a labor of love. Claire dives into what makes the original so nostalgic, from the enriched dough and spiraled shape to the signature sticky-sweet glaze.\n\nYou’ll watch as she mixes and proofs the dough, rolls and cuts each bun, then fries them to get that signature tender, slightly chewy texture. Once they’re golden, she finishes them with a warm honey glaze that melts into all the nooks and crannies, giving them that unmistakable glossy sheen.\n\nAlong the way, Claire shares tips for developing flavor in the dough, keeping the buns soft after frying, and getting the glaze just right. Whether you grew up eating Honey Buns on the go or just love seeing nostalgic snacks recreated from scratch, this episode is pure sticky-sweet comfort.\n\nStick around until the end to see how Claire’s homemade Honey Buns compare to the Little Debbie original, and whether she can truly match the iconic taste and look.\n\nSubscribe for more recreations of nostalgic snacks and comfort-food favorites, and let us know what Claire should take on next.\n\n#ClaireRecreates #HoneyBuns #LittleDebbie\n\nChapters\n00:00 Intro\n00:15 First impressions\n00:54 Smell test\n02:12 Taste test\n02:49 Reading the ingredients\n04:44 Measurements\n06:16 Game plan\n06:40 Dough Rise\n13:29 Form buns (swirl) Proof\n21:21 Frying Glazing\n27:24 Comparison\n30:17 Cat cam\n\nDOUGH\n¾ cup whole milk\n38g plus 368g all-purpose flour\n3 large eggs, chilled\n1½ tablespoons vegetable oil\n1½ tablespoons granulated sugar\n1½ tablespoons honey\n8 grams kosher salt\n1½ teaspoons instant yeast\n85g unsalted butter, cut into ½-inch pieces, chilled\nNeutral oil, for frying\n\nSWIRL\nWater + Cinnamon\n\nGLAZE\n½ cup whole milk\n2 tablespoons unsalted butter\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates", 9, 1835, false, "CViDoQkqf24", "https://www.youtube.com/watch?v=CViDoQkqf24", "/downloads/shows/Claire Recreates/Season 2025/s2025e120400 - I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates.mkv", false, ~U[2025-12-04 15:00:32Z]] 12:49:56.589 [debug] QUERY OK source="sources" db=0.2ms idle=121.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:49:56.589 [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] 12:49:56.590 [debug] QUERY OK source="media_items" db=0.2ms 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 [103699] 12:49:56.590 [debug] Current batch of media processed. Will check again in 1000ms 12:49:57.591 [debug] Current batch of media processed. Will check again in 1000ms 12:49:58.592 [debug] Current batch of media processed. Will check again in 1000ms 12:49:59.593 [debug] Current batch of media processed. Will check again in 1000ms 12:50:00.594 [debug] Current batch of media processed. Will check again in 1000ms 12:50:00.883 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:50:01.595 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "I Tried Making Homemade Whoppers | Claire Recreates\nIn this episode of Claire Recreates, Claire takes on a movie-theater and candy-aisle classic: Whoppers. Crunchy, airy, deeply malty, and coated in milk chocolate, Whoppers seem simple, but recreating that unmistakable texture from scratch turns out to be a real technical puzzle.\n\nClaire starts by breaking down the heart of the candy: the light, crisp malted center. She builds it from an Italian meringue made with whipped egg whites and a cooked sugar syrup, then folds in a carefully balanced malt mixture made from malted milk powder, barley malt flour, milk, salt, and leavening. The mixture is cooked, aerated, portioned into tiny spheres, and baked until dry, hollow, and shatter-crisp inside.\n\nOnce the centers are just right, Claire moves on to the chocolate. She coats each malted ball in smooth milk chocolate, dialing in the thickness and snap so it eats like the real thing, no waxy shortcuts, no shortcuts at all.\n\nAlong the way, Claire dives into what gives Whoppers their signature flavor, why malt is so nostalgic, and how industrial candy achieves that ultra-light crunch. She shares tips on sugar stages, drying vs. baking, and how small changes can completely alter the final texture.\n\n#clairesaffitz #whoppers #chocolate \n\nChapters\n00:00 Intro\n01:31 First impressions\n01:57 Reading the ingredients\n02:52 Taste test\n03:44 Measurements\n04:36 Game plan\n04:45 How To Make Whoppers\n17:34 Coat in tempered milk chocolate\n21:23 Comparison\n24:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "duration" => 1458, "filename" => "/downloads/shows/Claire Recreates/Season 2026/s2026e020400 - I Tried Making Homemade Whoppers | Claire Recreates.mkv", "id" => "Zs8bGlrcYAo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Zs8bGlrcYAo", "playlist_index" => 18, "timestamp" => 1770217267, "title" => "I Tried Making Homemade Whoppers | Claire Recreates", "upload_date" => "20260204"} 12:50:01.596 [debug] QUERY OK source="sources" db=0.1ms idle=1953.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:50:01.596 [debug] QUERY OK source="sources" db=0.1ms idle=1953.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:01.597 [debug] QUERY OK source="media_items" db=0.2ms idle=1119.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-04 15:01:07Z], 9] 12:50:01.599 [debug] QUERY OK source="media_items" db=1.5ms idle=713.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Whoppers | Claire Recreates\nIn this episode of Claire Recreates, Claire takes on a movie-theater and candy-aisle classic: Whoppers. Crunchy, airy, deeply malty, and coated in milk chocolate, Whoppers seem simple, but recreating that unmistakable texture from scratch turns out to be a real technical puzzle.\n\nClaire starts by breaking down the heart of the candy: the light, crisp malted center. She builds it from an Italian meringue made with whipped egg whites and a cooked sugar syrup, then folds in a carefully balanced malt mixture made from malted milk powder, barley malt flour, milk, salt, and leavening. The mixture is cooked, aerated, portioned into tiny spheres, and baked until dry, hollow, and shatter-crisp inside.\n\nOnce the centers are just right, Claire moves on to the chocolate. She coats each malted ball in smooth milk chocolate, dialing in the thickness and snap so it eats like the real thing, no waxy shortcuts, no shortcuts at all.\n\nAlong the way, Claire dives into what gives Whoppers their signature flavor, why malt is so nostalgic, and how industrial candy achieves that ultra-light crunch. She shares tips on sugar stages, drying vs. baking, and how small changes can completely alter the final texture.\n\n#clairesaffitz #whoppers #chocolate \n\nChapters\n00:00 Intro\n01:31 First impressions\n01:57 Reading the ingredients\n02:52 Taste test\n03:44 Measurements\n04:36 Game plan\n04:45 How To Make Whoppers\n17:34 Coat in tempered milk chocolate\n21:23 Comparison\n24:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Whoppers | Claire Recreates", "25b95ec0-6fb2-45db-b572-68d1994b71a2", 9, [], 1458, false, "Zs8bGlrcYAo", "https://www.youtube.com/watch?v=Zs8bGlrcYAo", 18, "/downloads/shows/Claire Recreates/Season 2026/s2026e020400 - I Tried Making Homemade Whoppers | Claire Recreates.mkv", false, false, false, 1, ~U[2026-02-04 15:01:07Z], ~U[2026-04-17 10:50:01Z], ~U[2026-04-17 10:50:01Z], "I Tried Making Homemade Whoppers | Claire Recreates\nIn this episode of Claire Recreates, Claire takes on a movie-theater and candy-aisle classic: Whoppers. Crunchy, airy, deeply malty, and coated in milk chocolate, Whoppers seem simple, but recreating that unmistakable texture from scratch turns out to be a real technical puzzle.\n\nClaire starts by breaking down the heart of the candy: the light, crisp malted center. She builds it from an Italian meringue made with whipped egg whites and a cooked sugar syrup, then folds in a carefully balanced malt mixture made from malted milk powder, barley malt flour, milk, salt, and leavening. The mixture is cooked, aerated, portioned into tiny spheres, and baked until dry, hollow, and shatter-crisp inside.\n\nOnce the centers are just right, Claire moves on to the chocolate. She coats each malted ball in smooth milk chocolate, dialing in the thickness and snap so it eats like the real thing, no waxy shortcuts, no shortcuts at all.\n\nAlong the way, Claire dives into what gives Whoppers their signature flavor, why malt is so nostalgic, and how industrial candy achieves that ultra-light crunch. She shares tips on sugar stages, drying vs. baking, and how small changes can completely alter the final texture.\n\n#clairesaffitz #whoppers #chocolate \n\nChapters\n00:00 Intro\n01:31 First impressions\n01:57 Reading the ingredients\n02:52 Taste test\n03:44 Measurements\n04:36 Game plan\n04:45 How To Make Whoppers\n17:34 Coat in tempered milk chocolate\n21:23 Comparison\n24:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Whoppers | Claire Recreates", 9, 1458, false, "Zs8bGlrcYAo", "https://www.youtube.com/watch?v=Zs8bGlrcYAo", "/downloads/shows/Claire Recreates/Season 2026/s2026e020400 - I Tried Making Homemade Whoppers | Claire Recreates.mkv", false, ~U[2026-02-04 15:01:07Z]] 12:50:01.599 [debug] QUERY OK source="sources" db=0.2ms idle=121.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:01.600 [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] 12:50:01.600 [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 [130341] 12:50:01.600 [debug] Current batch of media processed. Will check again in 1000ms 12:50:02.601 [debug] Current batch of media processed. Will check again in 1000ms 12:50:03.602 [debug] Current batch of media processed. Will check again in 1000ms 12:50:04.418 [info] {"source":"oban","duration":762,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:50:04.603 [debug] Current batch of media processed. Will check again in 1000ms 12:50:05.137 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/playlist?list=PLUUVA1IsKg-WqgEu55gWCHpi8Wfs_YqcZ&si=z1kjgb4xIhCbOdG_ --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/Claire Recreates/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/b3/af/b3af9a1c2a68613b4b32a67213620a7530874ae8c39bdc7fcc67d7dfa4f35526.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 12:50:05.138 [debug] Gracefully stopping file follower 12:50:05.139 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=720.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [9] 12:50:05.140 [debug] QUERY OK source="sources" db=0.1ms idle=657.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.140 [debug] QUERY OK source="media_items" db=0.2ms idle=497.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-04-30 13:00:32Z], 9] 12:50:05.143 [debug] QUERY OK source="media_items" db=1.8ms idle=498.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Drumsticks | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Nestle Drumsticks, The Original Ice Cream Cone. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #icecream #drumsticks \n\nCHAPTERS:\n00:00 Intro\n00:54 Snack breakdown\n03:29 Measurements\n04:43 Original ingredients\n05:15 Game plan\n06:15 Make and form cones\n18:13 Bake the cones\n19:53 Make the chocolate coating\n23:03 Make the ice cream\n32:05 Form the bulbs\n33:26 The next morning\n34:04 Make the magic shell\n37:29 Taste test\n41:59 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make the cones, combine 3 ounces room temp egg whites, ¼ cup granulated sugar, ¼ up demerara sugar, 3 tablespoons melted cooled butter, 2 teaspoons vanilla extract, ½ cup flour, 1 tablespoon cornstarch, ½ teaspoon kosher salt, and ¼ teaspoon baking soda and blend with a hand blender until completely smooth. Transfer the batter to a piping bag and pipe some onto the grates of a preheated electric waffle cone iron. Cook just until it’s set but pale, then transfer the piece to a cutting board and trace around a football-shaped stencil with a wheel cutter. Remove the excess, return the piece to the iron, and cook until golden brown all over. Form the cone around a mold, pressing firmly on the seam. Repeat with more batter. Dry the cones in a 200-degree oven upside down on a rack set over a baking sheet,, then let cool. Brush the insides of the cones with a thin layer of melted chocolate, depositing a half teaspoon of chocolate in the bottom of each. Place the cones on a rack in the freezer. \n\nTo make the ice cream, vigorously whisk 8 large egg yolks, 1 cup granulated sugar, 30g malted milk powder, ½ teaspoon kosher salt, and 1 tablespoon vanilla paste in the bottom of a large saucepan until pale and ribbony. Whisk in 3 cups whole milk and 1 cup heavy cream. Cook the mixture, whisking constantly over medium heat, until it registers 180-degrees. Cool the mixture rapidly in an ice bath, then transfer to an ice cream machine and spin until the ice cream holds its shape. Transfer some of the ice cream to a piping bag and fill the chocolate-coated cones, smoothing the tops, then transfer the rest of the ice cream to a chilled loaf pan and freeze solid. Scooping from the loaf pan, place a scoop of ice cream over the top of each cone, smoothing with a small offset spatula to form nice domes. Freeze the cones overnight, then melt chocolate and coconut oil together to make a magic shell. Dip the cones in the shell, shaking off excess, then gently roll in very evenly chopped and sifted roasted salted peanuts. Freeze until form, at least 20 minutes.", "I Tried Making Homemade Drumsticks | Claire Recreates", "ab873adc-d978-4df6-9954-e5c991f5d7c1", 9, [], 2534, false, "Qd0TQeVQ2Z0", "https://www.youtube.com/watch?v=Qd0TQeVQ2Z0", 1, "/downloads/shows/Claire Recreates/Season 2024/s2024e043000 - I Tried Making Homemade Drumsticks | Claire Recreates.mkv", false, false, false, 1, ~U[2024-04-30 13:00:32Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "I Tried Making Homemade Drumsticks | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Nestle Drumsticks, The Original Ice Cream Cone. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #icecream #drumsticks \n\nCHAPTERS:\n00:00 Intro\n00:54 Snack breakdown\n03:29 Measurements\n04:43 Original ingredients\n05:15 Game plan\n06:15 Make and form cones\n18:13 Bake the cones\n19:53 Make the chocolate coating\n23:03 Make the ice cream\n32:05 Form the bulbs\n33:26 The next morning\n34:04 Make the magic shell\n37:29 Taste test\n41:59 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make the cones, combine 3 ounces room temp egg whites, ¼ cup granulated sugar, ¼ up demerara sugar, 3 tablespoons melted cooled butter, 2 teaspoons vanilla extract, ½ cup flour, 1 tablespoon cornstarch, ½ teaspoon kosher salt, and ¼ teaspoon baking soda and blend with a hand blender until completely smooth. Transfer the batter to a piping bag and pipe some onto the grates of a preheated electric waffle cone iron. Cook just until it’s set but pale, then transfer the piece to a cutting board and trace around a football-shaped stencil with a wheel cutter. Remove the excess, return the piece to the iron, and cook until golden brown all over. Form the cone around a mold, pressing firmly on the seam. Repeat with more batter. Dry the cones in a 200-degree oven upside down on a rack set over a baking sheet,, then let cool. Brush the insides of the cones with a thin layer of melted chocolate, depositing a half teaspoon of chocolate in the bottom of each. Place the cones on a rack in the freezer. \n\nTo make the ice cream, vigorously whisk 8 large egg yolks, 1 cup granulated sugar, 30g malted milk powder, ½ teaspoon kosher salt, and 1 tablespoon vanilla paste in the bottom of a large saucepan until pale and ribbony. Whisk in 3 cups whole milk and 1 cup heavy cream. Cook the mixture, whisking constantly over medium heat, until it registers 180-degrees. Cool the mixture rapidly in an ice bath, then transfer to an ice cream machine and spin until the ice cream holds its shape. Transfer some of the ice cream to a piping bag and fill the chocolate-coated cones, smoothing the tops, then transfer the rest of the ice cream to a chilled loaf pan and freeze solid. Scooping from the loaf pan, place a scoop of ice cream over the top of each cone, smoothing with a small offset spatula to form nice domes. Freeze the cones overnight, then melt chocolat (truncated) 12:50:05.143 [debug] QUERY OK source="sources" db=0.2ms idle=501.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.144 [debug] QUERY OK source="media_items" db=0.2ms idle=4.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-28 13:00:19Z], 9] 12:50:05.147 [debug] QUERY OK source="media_items" db=1.9ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Zebra Cakes | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Little Debbie Zebra Cakes. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #zebracake #cake \n\nChapters:\n00:00 Intro\n00:43 Zebra Cakes\n01:20 Taste test (Original)\n06:28 Game plan\n06:41 Bake cake\n16:37 Make the filling\n22:23 Fill & stack\n25:28 Cut out hexagons\n27:56 Fondant & glaze\n38:14 Chocolate stripes\n42:15 Comparison\n45:28 Spud gets brushed!\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make zebra cakes, start by whisking ¾ cup cake flour, ¼ teaspoon baking powder, ⅛ teaspoon baking soda, and ¾ teaspoon kosher salt in a medium bowl. In a separate bowl, beat 3 egg yolks and ¼ cup sugar with a hand mixer until ribbony, then stream in ¼ cup neutral oil, ¼ cup buttermilk, and a teaspoon of vanilla extract. Pour the yolk mixture into the flour mixture and whisk until smooth. In a separate bowl, combine three egg whites, ¼ cup sugar, and a pinch of cream of tartar and beat with an electric mixer to stiff peaks. Fold the whites into the batter, then scrape onto a parchment-lined half sheet tray. Bake in a 225-degree oven until springy to the touch and golden, then let cool. Trim the edges then cut the sponge into 6-cm-wide strips and trim them horizontally so they’re about 7mm thick. Freeze the pieces. \n\nTo make the filling, combine 3 ounces egg whites, 5.5 ounces of sugar, ½ teaspoon kosher salt, and a pinch of cream of tartar in the bowl of a stand mixer set over a double boiler and stir until the sugar dissolves. Whip the egg whites until firm peaks form and the meringue is room temperature, then gradually beat in 10 ounces of room temperature butter. Scrape down the sides of the bowl and beat in 1 tablespoon of vanilla paste. Pipe a layer of buttercream onto the surfaces of the cake strips using a basketweave tip, then sandwich the cake together. Chill briefly, then cut out hexagons using a serrated knife and template. Chill the cakes. \n\nIn a large bowl, whisk together 4 cups powdered sugar, ¼ cup hot water, ¼ cup light corn syrup, and 1 teaspoon vanilla extract until smooth. Whisk in 142g melted white chocolate, then thin with more hot water to the desired consistency. Place over a saucepan of hot water to keep warm. Spread a thin layer over the tops of the cakes, let set at room temperature, then place the cakes one at a time glaze-size down on a large fork and spoon the glaze over the cakes until fully enrobed. Place on a wire rack and let set. Pipe thin lines of melted chocolate over the surfaces of the cakes in a wavy pattern and let set.", "I Tried Making Homemade Zebra Cakes | Claire Recreates", "79919a53-36ad-4d3e-8836-3a2898c1b449", 9, [], 2744, false, "OtgomG_a0jg", "https://www.youtube.com/watch?v=OtgomG_a0jg", 2, "/downloads/shows/Claire Recreates/Season 2024/s2024e052800 - I Tried Making Homemade Zebra Cakes | Claire Recreates.mkv", false, false, false, 1, ~U[2024-05-28 13:00:19Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "I Tried Making Homemade Zebra Cakes | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tries to recreate beloved childhood snacks and popular meals with a unique twist. Today's episode focuses on the Little Debbie Zebra Cakes. Join Claire as she reimagines these beloved classics, serving up delicious recipes tailored for home cooking enthusiasts. If you're longing for a nostalgic foods and fascinated by the intricacies of recipe development, this series is for you! Don't miss out on Claire's creative take on classic dishes.\n\n#clairesaffitz #zebracake #cake \n\nChapters:\n00:00 Intro\n00:43 Zebra Cakes\n01:20 Taste test (Original)\n06:28 Game plan\n06:41 Bake cake\n16:37 Make the filling\n22:23 Fill & stack\n25:28 Cut out hexagons\n27:56 Fondant & glaze\n38:14 Chocolate stripes\n42:15 Comparison\n45:28 Spud gets brushed!\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nTo make zebra cakes, start by whisking ¾ cup cake flour, ¼ teaspoon baking powder, ⅛ teaspoon baking soda, and ¾ teaspoon kosher salt in a medium bowl. In a separate bowl, beat 3 egg yolks and ¼ cup sugar with a hand mixer until ribbony, then stream in ¼ cup neutral oil, ¼ cup buttermilk, and a teaspoon of vanilla extract. Pour the yolk mixture into the flour mixture and whisk until smooth. In a separate bowl, combine three egg whites, ¼ cup sugar, and a pinch of cream of tartar and beat with an electric mixer to stiff peaks. Fold the whites into the batter, then scrape onto a parchment-lined half sheet tray. Bake in a 225-degree oven until springy to the touch and golden, then let cool. Trim the edges then cut the sponge into 6-cm-wide strips and trim them horizontally so they’re about 7mm thick. Freeze the pieces. \n\nTo make the filling, combine 3 ounces egg whites, 5.5 ounces of sugar, ½ teaspoon kosher salt, and a pinch of cream of tartar in the bowl of a stand mixer set over a double boiler and stir until the sugar dissolves. Whip the egg whites until firm peaks form and the meringue is room temperature, then gradually beat in 10 ounces of room temperature butter. Scrape down the sides of the bowl and beat in 1 tablespoon of vanilla paste. Pipe a layer of buttercream onto the surfaces of the cake strips using a basketweave tip, then sandwich the cake together. Chill briefly, then cut out hexagons using a serrated knife and template. Chill the cakes. \n\nIn a large bowl, whisk together 4 cups powdered sugar, ¼ cup hot water, ¼ cup light corn syrup, and 1 teaspoon vanilla extract until smooth. Whisk in 142g melted white chocolate, then thin with more hot water to the desired consistency. Place over a saucepan of hot water to keep warm. Spread a thin layer over the tops of the cakes, let set at room temperature, then place the cakes one at a time glaze-size down on a large fork and spoon the glaze over the cakes until fully en (truncated) 12:50:05.147 [debug] QUERY OK source="sources" db=0.2ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.148 [debug] QUERY OK source="media_items" db=0.2ms idle=5.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-21 13:00:11Z], 9] 12:50:05.150 [debug] QUERY OK source="media_items" db=1.6ms idle=4.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Cosmic Brownies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tackles beloved childhood snacks and popular meals with a unique twist. In today's episode, she focuses on Little Debbie Cosmic Brownies. Join Claire as she reimagines these classics, offering delicious recipes perfect for home cooking enthusiasts. If you're nostalgic for your favorite foods and intrigued by the art of recipe development, this series is for you! Don't miss Claire's creative take on these timeless dishes.\n\n#cosmicbrownies #clairesaffitz #brownie \n\nChapters:\n00:00 Intro\n01:14 Basic components\n01:53 Taste test\n04:19 Measurements\n08:36 Game plan\n10:34 Temper the chocolate\n16:12 Make the candy coating\n23:29 Make the brownies\n29:12 Make the royal icing\n31:28 Make the glaze\n37:19 Assemble\n39:17 Conclusion\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nBROWNIES\n6.6 ounces bittersweet chocolate\n1 stick unsalted butter\n5.55 ounces confectioners’ sugar\n2 large egg yolks\n1 teaspoon kosher salt\n2 teaspoon vanilla extract or paste\n6 ounces all-purpose flour\n\nFUDGE FROSTING\n4 tablespoons unsalted butter\n1½ cups (300g) sugar\n2 tablespoons unsweetened cocoa powder\n¾ cup whole milk\nGenerous pinch of kosher salt\n1 teaspoon vanilla extract\n1½ ounces unsweetened chocolate\n\nBROWNIES: Preheat the oven to 350°F. Lightly butter the bottom and sides of a ¼ sheet pan. Line the bottom and two longer sides with a piece of parchment paper, smoothing to eliminate air bubbles. Melt chocolate and butter in a large bowl set over a double boiler, stirring often with a flexible heat-proof spatula. Remove from the heat and add the sugar, yolks, salt, and vanilla and whisk vigorously. Add the flour and fold thoroughly with the spatula until you have a homogenous dough. Spread into the prepared pan with an offset spatula in a smooth, even layer. Bake in a water bath until the brownies are set, 18 to 22 minutes. Remove from the oven and let cool completely.", "I Tried Making Homemade Cosmic Brownies | Claire Recreates", "1a155cb5-e546-469a-bcb6-2391cc0e2a1c", 9, [], 2675, false, "BpA0hvBfnO0", "https://www.youtube.com/watch?v=BpA0hvBfnO0", 3, "/downloads/shows/Claire Recreates/Season 2024/s2024e062100 - I Tried Making Homemade Cosmic Brownies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-06-21 13:00:11Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "I Tried Making Homemade Cosmic Brownies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz tackles beloved childhood snacks and popular meals with a unique twist. In today's episode, she focuses on Little Debbie Cosmic Brownies. Join Claire as she reimagines these classics, offering delicious recipes perfect for home cooking enthusiasts. If you're nostalgic for your favorite foods and intrigued by the art of recipe development, this series is for you! Don't miss Claire's creative take on these timeless dishes.\n\n#cosmicbrownies #clairesaffitz #brownie \n\nChapters:\n00:00 Intro\n01:14 Basic components\n01:53 Taste test\n04:19 Measurements\n08:36 Game plan\n10:34 Temper the chocolate\n16:12 Make the candy coating\n23:29 Make the brownies\n29:12 Make the royal icing\n31:28 Make the glaze\n37:19 Assemble\n39:17 Conclusion\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nBROWNIES\n6.6 ounces bittersweet chocolate\n1 stick unsalted butter\n5.55 ounces confectioners’ sugar\n2 large egg yolks\n1 teaspoon kosher salt\n2 teaspoon vanilla extract or paste\n6 ounces all-purpose flour\n\nFUDGE FROSTING\n4 tablespoons unsalted butter\n1½ cups (300g) sugar\n2 tablespoons unsweetened cocoa powder\n¾ cup whole milk\nGenerous pinch of kosher salt\n1 teaspoon vanilla extract\n1½ ounces unsweetened chocolate\n\nBROWNIES: Preheat the oven to 350°F. Lightly butter the bottom and sides of a ¼ sheet pan. Line the bottom and two longer sides with a piece of parchment paper, smoothing to eliminate air bubbles. Melt chocolate and butter in a large bowl set over a double boiler, stirring often with a flexible heat-proof spatula. Remove from the heat and add the sugar, yolks, salt, and vanilla and whisk vigorously. Add the flour and fold thoroughly with the spatula until you have a homogenous dough. Spread into the prepared pan with an offset spatula in a smooth, even layer. Bake in a water bath until the brownies are set, 18 to 22 minutes. Remove from the oven and let cool completely.", "I Tried Making Homemade Cosmic Brownies | Claire Recreates", 9, 2675, false, "BpA0hvBfnO0", "https://www.youtube.com/watch?v=BpA0hvBfnO0", "/downloads/shows/Claire Recreates/Season 2024/s2024e062100 - I Tried Making Homemade Cosmic Brownies | Claire Recreates.mkv", false, ~U[2024-06-21 13:00:11Z]] 12:50:05.151 [debug] QUERY OK source="sources" db=0.2ms idle=6.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.151 [debug] QUERY OK source="media_items" db=0.2ms idle=4.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-08 17:15:03Z], 9] 12:50:05.153 [debug] QUERY OK source="media_items" db=1.5ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz takes on nostalgic childhood snacks and popular meals, adding her own creative twist. In today's episode, she focuses on Strawberry Shortcake Bars, pairing them with homemade ice cream. Join Claire as she reimagines these classics, sharing delicious recipes perfect for home cooking enthusiasts. If you have a soft spot for your favorite foods and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive approach to these timeless treats.\n\n#strawberryshortcake #clairesaffitz #icecream \n\nChapters:\n00:00 Intro\n00:28 Strawberry shortcake bars\n01:12 Taste test\n02:53 Reading the ingredients\n04:01 Measurements\n07:03 Game plan\n09:16 Make the ice cream base\n12:47 Make strawberry ice cream base\n15:38 Make the strawberry cores\n24:07 Make cake crumbs\n28:34 Fill molds\n45:10 Assemble\n46:05 Comparison\n49:32 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nStrawberry Shortcake Bars\nMakes 8\n\nVANILLA ICE CREAM\n8 large egg yolks\n¾ cup granulated sugar\n½ teaspoon kosher salt\n1 tablespoon vanilla paste\n3 cups whole milk\n1 cup heavy cream\n\n1 pound strawberries chopped, mixed with 2 tbsp sugar, roasted at 275 for 1 hour, stir a few times, blend in to half of vanilla base and flavor with 1 Tbsp hibiscus powder and 20g freeze dried strawberries, strain, process\n\nSUGAR COOKIE CRUMBS\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour\n\nSTRAWBERRY VERSION\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour", "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates", "e6e9be8e-b1d9-4485-a215-d22ca6c33fa7", 9, [], 2988, false, "dPBXgwJD35E", "https://www.youtube.com/watch?v=dPBXgwJD35E", 4, "/downloads/shows/Claire Recreates/Season 2024/s2024e080800 - I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates.mkv", false, false, false, 1, ~U[2024-08-08 17:15:03Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz takes on nostalgic childhood snacks and popular meals, adding her own creative twist. In today's episode, she focuses on Strawberry Shortcake Bars, pairing them with homemade ice cream. Join Claire as she reimagines these classics, sharing delicious recipes perfect for home cooking enthusiasts. If you have a soft spot for your favorite foods and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive approach to these timeless treats.\n\n#strawberryshortcake #clairesaffitz #icecream \n\nChapters:\n00:00 Intro\n00:28 Strawberry shortcake bars\n01:12 Taste test\n02:53 Reading the ingredients\n04:01 Measurements\n07:03 Game plan\n09:16 Make the ice cream base\n12:47 Make strawberry ice cream base\n15:38 Make the strawberry cores\n24:07 Make cake crumbs\n28:34 Fill molds\n45:10 Assemble\n46:05 Comparison\n49:32 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nStrawberry Shortcake Bars\nMakes 8\n\nVANILLA ICE CREAM\n8 large egg yolks\n¾ cup granulated sugar\n½ teaspoon kosher salt\n1 tablespoon vanilla paste\n3 cups whole milk\n1 cup heavy cream\n\n1 pound strawberries chopped, mixed with 2 tbsp sugar, roasted at 275 for 1 hour, stir a few times, blend in to half of vanilla base and flavor with 1 Tbsp hibiscus powder and 20g freeze dried strawberries, strain, process\n\nSUGAR COOKIE CRUMBS\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour\n\nSTRAWBERRY VERSION\n1 stick butter\n½ cup sugar\n1 teaspoon baking powder\n¾ teaspoon Diamond kosher\n2 tablespoons egg whites, from about 1 egg\n1 tablespoon heavy cream\n1 teaspoon vanilla extract\n150g all-purpose flour", "I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates", 9, 2988, false, "dPBXgwJD35E", "https://www.youtube.com/watch?v=dPBXgwJD35E", "/downloads/shows/Claire Recreates/Season 2024/s2024e080800 - I Tried Making Homemade Strawberry Shortcake Bars | Claire Recreates.mkv", false, ~U[2024-08-08 17:15:03Z]] 12:50:05.154 [debug] QUERY OK source="sources" db=0.1ms 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" = ?) [9] 12:50:05.154 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-25 13:00:05Z], 9] 12:50:05.156 [debug] QUERY OK source="media_items" db=1.4ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Uncrustables | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she tackles the beloved Smucker’s Uncrustables, giving them a creative, from-scratch makeover. Claire takes no shortcuts, making her own homemade white bread, peanut butter, and jelly, transforming this nostalgic lunchbox staple into something truly special. If you’re a fan of classic snacks and curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive twist on this timeless favorite.\n\n#clairesaffitz #homemade #uncrustables \n\nChapters:\n00:00 Intro\n00:54 How does Claire Saffitz make a PBJ?\n01:50 Taste test\n02:19 Basic Components\n02:48 Reading the Ingredients\n03:50 Game Plan\n04:32 Soft White Bread\n06:31 Cal calls Uncrustables\n06:59 Peanut butter\n13:44 Grape Jelly\n18:10 Assembly\n26:47 Comparison\n28:58 Cat Cam\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nSOFT WHITE BREAD\nMakes 1 loaf\n\nTANGZHONG\n½ cup whole milk\n½ cup water\n50g (6 tablespoons) bread flour\n\nDOUGH\n3 cups (390g) bread flour, plus more, if needed, for work surface\n¼ cup water\n¼ cup milk \n2 tablespoons granulated sugar\n4 tablespoons neutral oil\n9g kosher salt (2½ teaspoons Diamond Crystal kosher salt)\n2 teaspoons instant yeast\n\nGrape Jelly\n2 lbs green apples\n1 quart 100% Concord grape juice\n1 cup sugar\n2 tablespoons lemon juice\n\nPeanut Butter\n3 cups roasted salted peanuts, toasted until golden brown\nGenerous pinch of salt\n2 teaspoons of honey", "I Tried Making Homemade Uncrustables | Claire Recreates", "3e5c002b-214d-4202-a1e5-7adb8ac36ee2", 9, [], 1750, false, "3eIbzifSZYY", "https://www.youtube.com/watch?v=3eIbzifSZYY", 5, "/downloads/shows/Claire Recreates/Season 2024/s2024e092500 - I Tried Making Homemade Uncrustables | Claire Recreates.mkv", false, false, false, 1, ~U[2024-09-25 13:00:05Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "I Tried Making Homemade Uncrustables | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she tackles the beloved Smucker’s Uncrustables, giving them a creative, from-scratch makeover. Claire takes no shortcuts, making her own homemade white bread, peanut butter, and jelly, transforming this nostalgic lunchbox staple into something truly special. If you’re a fan of classic snacks and curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive twist on this timeless favorite.\n\n#clairesaffitz #homemade #uncrustables \n\nChapters:\n00:00 Intro\n00:54 How does Claire Saffitz make a PBJ?\n01:50 Taste test\n02:19 Basic Components\n02:48 Reading the Ingredients\n03:50 Game Plan\n04:32 Soft White Bread\n06:31 Cal calls Uncrustables\n06:59 Peanut butter\n13:44 Grape Jelly\n18:10 Assembly\n26:47 Comparison\n28:58 Cat Cam\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nRecipe:\nSOFT WHITE BREAD\nMakes 1 loaf\n\nTANGZHONG\n½ cup whole milk\n½ cup water\n50g (6 tablespoons) bread flour\n\nDOUGH\n3 cups (390g) bread flour, plus more, if needed, for work surface\n¼ cup water\n¼ cup milk \n2 tablespoons granulated sugar\n4 tablespoons neutral oil\n9g kosher salt (2½ teaspoons Diamond Crystal kosher salt)\n2 teaspoons instant yeast\n\nGrape Jelly\n2 lbs green apples\n1 quart 100% Concord grape juice\n1 cup sugar\n2 tablespoons lemon juice\n\nPeanut Butter\n3 cups roasted salted peanuts, toasted until golden brown\nGenerous pinch of salt\n2 teaspoons of honey", "I Tried Making Homemade Uncrustables | Claire Recreates", 9, 1750, false, "3eIbzifSZYY", "https://www.youtube.com/watch?v=3eIbzifSZYY", "/downloads/shows/Claire Recreates/Season 2024/s2024e092500 - I Tried Making Homemade Uncrustables | Claire Recreates.mkv", false, ~U[2024-09-25 13:00:05Z]] 12:50:05.157 [debug] QUERY OK source="sources" db=0.1ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.157 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-24 17:00:23Z], 9] 12:50:05.163 [debug] QUERY OK source="media_items" db=5.3ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she steps out to explore restaurant staples, starting with the iconic McDonald’s Apple Pie. Claire meticulously dissects the fast-food favorite, recreating it from scratch with her own version of a hand pie. From crafting a flaky, golden dough to making a perfectly spiced apple filling, Claire transforms this nostalgic dessert into a homemade masterpiece. If you love classic treats and are curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless favorite.\n\n#clairesaffitz #mcdonalds #applepie \n\nChapters:\n00:00 Intro\n00:30 McDonald’s Drive-Thru\n02:14 Back to the kitchen\n02:51 Measurements\n04:36 How To Make Baked Apple Pie\n04:49 Reading the Ingredients\n05:23 Doing some research\n05:49 How To Make Pastry\n09:47 How To Make Apple Filling\n21:09 Testing the lattice\n24:39 Assembly\n28:43 Baking\n30:26 McDonald’s vs Claire Saffitz\n32:18 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates", "47cc383d-219f-40a2-a927-deaa80149b6e", 9, [], 1957, false, "JPcLcSbYL94", "https://www.youtube.com/watch?v=JPcLcSbYL94", 6, "/downloads/shows/Claire Recreates/Season 2024/s2024e102400 - I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates.mkv", false, false, false, 1, ~U[2024-10-24 17:00:23Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on beloved childhood snacks and iconic treats, adding her signature homemade touch. In today’s episode, she steps out to explore restaurant staples, starting with the iconic McDonald’s Apple Pie. Claire meticulously dissects the fast-food favorite, recreating it from scratch with her own version of a hand pie. From crafting a flaky, golden dough to making a perfectly spiced apple filling, Claire transforms this nostalgic dessert into a homemade masterpiece. If you love classic treats and are curious about the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless favorite.\n\n#clairesaffitz #mcdonalds #applepie \n\nChapters:\n00:00 Intro\n00:30 McDonald’s Drive-Thru\n02:14 Back to the kitchen\n02:51 Measurements\n04:36 How To Make Baked Apple Pie\n04:49 Reading the Ingredients\n05:23 Doing some research\n05:49 How To Make Pastry\n09:47 How To Make Apple Filling\n21:09 Testing the lattice\n24:39 Assembly\n28:43 Baking\n30:26 McDonald’s vs Claire Saffitz\n32:18 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates", 9, 1957, false, "JPcLcSbYL94", "https://www.youtube.com/watch?v=JPcLcSbYL94", "/downloads/shows/Claire Recreates/Season 2024/s2024e102400 - I Tried Making Homemade McDonald’s Apple Pie | Claire Recreates.mkv", false, ~U[2024-10-24 17:00:23Z]] 12:50:05.164 [debug] QUERY OK source="sources" db=0.2ms idle=9.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.164 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-28 14:45:02Z], 9] 12:50:05.166 [debug] QUERY OK source="media_items" db=1.2ms idle=7.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Mallomars | Claire Recreates\nOn this special episode of Claire Recreates, Claire Saffitz tackles the beloved Mallomars, a treat adored in the Northeast but deserving of nationwide love. From crafting the perfect graham cracker base to whipping up a fluffy marshmallow and dipping it all in luscious chocolate, Claire brings this classic to life in a way only she can. If you love reimagined classics and want to celebrate the joy of homemade desserts, this episode is a must-watch. Don’t miss Claire’s creative take on this iconic treat—perfect for the holiday season! Happy Thanksgiving! We’re incredibly thankful for everyone who has joined us on this channel.\n\n#clairesaffitz #mallomars #smores #chocolate \n\nChapters:\n00:00 Intro\n00:25 Mallomars\n02:06 Measurements\n02:42 Ingredients\n03:30 Game plan\n03:58 Cookie base\n15:59 Marshmallow topper\n23:37 Assemble cookies\n24:59 Temper chocolate & enrobe\n29:27 Snap test\n30:03 Comparison\n31:53 Harris review\n32:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Mallomars | Claire Recreates", "3c066e0f-e862-40eb-b05f-a451f66ea599", 9, [], 1971, false, "Qh9zncazwM8", "https://www.youtube.com/watch?v=Qh9zncazwM8", 7, "/downloads/shows/Claire Recreates/Season 2024/s2024e112800 - I Tried Making Homemade Mallomars | Claire Recreates.mkv", false, false, false, 1, ~U[2024-11-28 14:45:02Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "I Tried Making Homemade Mallomars | Claire Recreates\nOn this special episode of Claire Recreates, Claire Saffitz tackles the beloved Mallomars, a treat adored in the Northeast but deserving of nationwide love. From crafting the perfect graham cracker base to whipping up a fluffy marshmallow and dipping it all in luscious chocolate, Claire brings this classic to life in a way only she can. If you love reimagined classics and want to celebrate the joy of homemade desserts, this episode is a must-watch. Don’t miss Claire’s creative take on this iconic treat—perfect for the holiday season! Happy Thanksgiving! We’re incredibly thankful for everyone who has joined us on this channel.\n\n#clairesaffitz #mallomars #smores #chocolate \n\nChapters:\n00:00 Intro\n00:25 Mallomars\n02:06 Measurements\n02:42 Ingredients\n03:30 Game plan\n03:58 Cookie base\n15:59 Marshmallow topper\n23:37 Assemble cookies\n24:59 Temper chocolate & enrobe\n29:27 Snap test\n30:03 Comparison\n31:53 Harris review\n32:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Mallomars | Claire Recreates", 9, 1971, false, "Qh9zncazwM8", "https://www.youtube.com/watch?v=Qh9zncazwM8", "/downloads/shows/Claire Recreates/Season 2024/s2024e112800 - I Tried Making Homemade Mallomars | Claire Recreates.mkv", false, ~U[2024-11-28 14:45:02Z]] 12:50:05.167 [debug] QUERY OK source="sources" db=0.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" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.167 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-31 15:00:27Z], 9] 12:50:05.169 [debug] QUERY OK source="media_items" db=1.3ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Milano Cookies | Claire Recreates\nIn this special holiday episode of Claire Recreates, Claire Saffitz takes on the beloved Pepperidge Farm Milano Cookies, a holiday favorite that deserves a homemade makeover. Claire is determined to recreate the classic cookie, from baking the perfect buttery, delicate biscuit to making a smooth, decadent chocolate filling. With her signature flair, Claire transforms this iconic treat into a homemade version that’s even more irresistible than the original. If you love reimagined classics and want to impress your guests with a holiday dessert that’s both nostalgic and elevated, this episode is a must-watch. Don’t miss Claire’s delicious twist on the Milano Cookie—perfect for celebrating the season! As we close out 2024, we’re incredibly thankful for everyone who’s supported this channel. Happy Holidays!\n\n#clairesaffitz #cookies #dessert \n\nChapters:\n00:00 Intro\n00:26 Milano cookies\n02:08 Taste test\n02:46 Measurements\n03:54 Reading the ingredients\n04:54 Game plan\n05:22 Harris' Milano Tip\n06:12 Make & bake cookies\n07:47 Making the batter\n09:47 Piping the cookies\n13:36 Making cookie improvements\n29:33 Make mint layer\n31:55 Temper chocolate\n33:29 Assembly\n35:06 Comparison \n36:24 Harris’ review\n36:56 Conclusion\n37:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Milano Cookies | Claire Recreates", "fde1a7f1-2572-4aa5-9a19-473ed13ec8c0", 9, [], 2271, false, "L_Xu-Tt7fHA", "https://www.youtube.com/watch?v=L_Xu-Tt7fHA", 8, "/downloads/shows/Claire Recreates/Season 2024/s2024e123100 - I Tried Making Homemade Milano Cookies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-12-31 15:00:27Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "I Tried Making Homemade Milano Cookies | Claire Recreates\nIn this special holiday episode of Claire Recreates, Claire Saffitz takes on the beloved Pepperidge Farm Milano Cookies, a holiday favorite that deserves a homemade makeover. Claire is determined to recreate the classic cookie, from baking the perfect buttery, delicate biscuit to making a smooth, decadent chocolate filling. With her signature flair, Claire transforms this iconic treat into a homemade version that’s even more irresistible than the original. If you love reimagined classics and want to impress your guests with a holiday dessert that’s both nostalgic and elevated, this episode is a must-watch. Don’t miss Claire’s delicious twist on the Milano Cookie—perfect for celebrating the season! As we close out 2024, we’re incredibly thankful for everyone who’s supported this channel. Happy Holidays!\n\n#clairesaffitz #cookies #dessert \n\nChapters:\n00:00 Intro\n00:26 Milano cookies\n02:08 Taste test\n02:46 Measurements\n03:54 Reading the ingredients\n04:54 Game plan\n05:22 Harris' Milano Tip\n06:12 Make & bake cookies\n07:47 Making the batter\n09:47 Piping the cookies\n13:36 Making cookie improvements\n29:33 Make mint layer\n31:55 Temper chocolate\n33:29 Assembly\n35:06 Comparison \n36:24 Harris’ review\n36:56 Conclusion\n37:33 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Milano Cookies | Claire Recreates", 9, 2271, false, "L_Xu-Tt7fHA", "https://www.youtube.com/watch?v=L_Xu-Tt7fHA", "/downloads/shows/Claire Recreates/Season 2024/s2024e123100 - I Tried Making Homemade Milano Cookies | Claire Recreates.mkv", false, ~U[2024-12-31 15:00:27Z]] 12:50:05.170 [debug] QUERY OK source="sources" db=0.1ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.170 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-08-30 14:00:49Z], 9] 12:50:05.172 [debug] QUERY OK source="media_items" db=1.4ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz dives into beloved childhood snacks and iconic treats, adding her own creative flair. In today’s episode, she focuses on the classic Little Debbie Oatmeal Creme Pies, transforming them with a homemade twist. Join Claire as she reimagines this nostalgic favorite, sharing mouthwatering recipes perfect for home baking enthusiasts. If you have a fondness for your favorite snacks and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless treat.\n\n#clairesaffitz #oatmeal #pie \n\nChapters:\n\n00:00 Intro\n01:10 Measurements\n01:29 Smell and taste test\n02:22 Ingredients\n03:42 Game plan\n03:49 Make cookie dough + bake\n13:21 Make adjustments to cookies\n22:11 Marshmallow cream\n25:29 Assemble\n26:19 Comparison\n27:55 Harris review\n28:32 Conclusion\n29:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nCOOKIES\n1¼ cups old-fashioned rolled oats, divided\n¼ cup raisins\n½ cup whole milk\n¼ cup water \n (¼ cup oats + raisins cooked in milk/water, remaining 1 cup oats processed w/ dry ingredients)\n1½ cups all-purpose flour\n2 teaspoons baking soda\n1 teaspoon kosher salt\n¾ teaspoon cinnamon\nPinch of ground cloves\n8 tablespoons (1 stick) unsalted butter, at room temperature\n¼ cup vegetable oil\n1 cup light brown sugar (packed)\n⅓ cup molasses\n1 large egg\n2 teaspoons pure vanilla extract\n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon King Arthur Pure Vanilla Extract", "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates", "4f431e04-a1b1-4ccc-a4c8-572f28aa045b", 9, [], 1755, false, "qX5AKIh2x_4", "https://www.youtube.com/watch?v=qX5AKIh2x_4", 9, "/downloads/shows/Claire Recreates/Season 2024/s2024e083000 - I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates.mkv", false, false, false, 1, ~U[2024-08-30 14:00:49Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates\nIn her exciting new YouTube series, \"Claire Recreates,\" Claire Saffitz dives into beloved childhood snacks and iconic treats, adding her own creative flair. In today’s episode, she focuses on the classic Little Debbie Oatmeal Creme Pies, transforming them with a homemade twist. Join Claire as she reimagines this nostalgic favorite, sharing mouthwatering recipes perfect for home baking enthusiasts. If you have a fondness for your favorite snacks and a curiosity for the art of recipe development, this series is a must-watch! Don’t miss Claire’s inventive take on this timeless treat.\n\n#clairesaffitz #oatmeal #pie \n\nChapters:\n\n00:00 Intro\n01:10 Measurements\n01:29 Smell and taste test\n02:22 Ingredients\n03:42 Game plan\n03:49 Make cookie dough + bake\n13:21 Make adjustments to cookies\n22:11 Marshmallow cream\n25:29 Assemble\n26:19 Comparison\n27:55 Harris review\n28:32 Conclusion\n29:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h...\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton\n\nCOOKIES\n1¼ cups old-fashioned rolled oats, divided\n¼ cup raisins\n½ cup whole milk\n¼ cup water \n (¼ cup oats + raisins cooked in milk/water, remaining 1 cup oats processed w/ dry ingredients)\n1½ cups all-purpose flour\n2 teaspoons baking soda\n1 teaspoon kosher salt\n¾ teaspoon cinnamon\nPinch of ground cloves\n8 tablespoons (1 stick) unsalted butter, at room temperature\n¼ cup vegetable oil\n1 cup light brown sugar (packed)\n⅓ cup molasses\n1 large egg\n2 teaspoons pure vanilla extract\n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon King Arthur Pure Vanilla Extract", "I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates", 9, 1755, false, "qX5AKIh2x_4", "https://www.youtube.com/watch?v=qX5AKIh2x_4", "/downloads/shows/Claire Recreates/Season 2024/s2024e083000 - I Tried Making Homemade Oatmeal Creme Pies | Claire Recreates.mkv", false, ~U[2024-08-30 14:00:49Z]] 12:50:05.173 [debug] QUERY OK source="sources" db=0.2ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.173 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-20 14:00:30Z], 9] 12:50:05.175 [debug] QUERY OK source="media_items" db=1.2ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on the challenge of recreating beloved childhood snacks and iconic treats—but this time, she’s in new territory. In today’s episode, Claire tackles the Kinder Bueno, attempting to craft the crispy, creamy chocolate bar from scratch—all from a rental kitchen. With limited tools and unfamiliar surroundings, she puts her skills to the test, proving that great recipes can come together anywhere. If you love nostalgic sweets and the thrill of recipe experimentation, this episode is a must-watch!\n\n#kinderbueno #clairesaffitz #chocolate \n\nChapters\n00:00 Intro\n00:26 How To Make Kinder Bueno\n02:46 Measurements\n02:59 Taste test\n04:53 Ingredients\n06:14 Molds\n11:07 How To Make Kinder Bueno Wafers\n18:10 100% polycarbonate\n20:04 Plan B?\n21:37 Lessons learned\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates", "5d39d8b4-6257-4ebb-a3ab-885ea8c038da", 9, [], 1385, false, "ipwx-AzyDNk", "https://www.youtube.com/watch?v=ipwx-AzyDNk", 10, "/downloads/shows/Claire Recreates/Season 2025/s2025e032000 - I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates.mkv", false, false, false, 1, ~U[2025-03-20 14:00:30Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates\nIn her exciting YouTube series, Claire Recreates, Claire Saffitz takes on the challenge of recreating beloved childhood snacks and iconic treats—but this time, she’s in new territory. In today’s episode, Claire tackles the Kinder Bueno, attempting to craft the crispy, creamy chocolate bar from scratch—all from a rental kitchen. With limited tools and unfamiliar surroundings, she puts her skills to the test, proving that great recipes can come together anywhere. If you love nostalgic sweets and the thrill of recipe experimentation, this episode is a must-watch!\n\n#kinderbueno #clairesaffitz #chocolate \n\nChapters\n00:00 Intro\n00:26 How To Make Kinder Bueno\n02:46 Measurements\n02:59 Taste test\n04:53 Ingredients\n06:14 Molds\n11:07 How To Make Kinder Bueno Wafers\n18:10 100% polycarbonate\n20:04 Plan B?\n21:37 Lessons learned\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates", 9, 1385, false, "ipwx-AzyDNk", "https://www.youtube.com/watch?v=ipwx-AzyDNk", "/downloads/shows/Claire Recreates/Season 2025/s2025e032000 - I Tried Making Homemade Kinder Bueno Bars Pt. 1 | Claire Recreates.mkv", false, ~U[2025-03-20 14:00:30Z]] 12:50:05.176 [debug] QUERY OK source="sources" db=0.1ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.176 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-01 14:00:48Z], 9] 12:50:05.178 [debug] QUERY OK source="media_items" db=1.5ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Australian Tim Tams | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on one of the most iconic Australian snacks of all time — Tim Tams. Known for their rich chocolate coating, creamy filling, and signature crunchy biscuit texture, Tim Tams are a beloved treat across Australia and beyond. Claire attempts to recreate Tim Tams from scratch, using her precise baking techniques and deep understanding of pastry science to reverse-engineer this layered chocolate biscuit sandwich at home.\n\nWatch as Claire tests different chocolate biscuit recipes, explores the mechanics of the perfect Tim Tam Slam, and tackles the challenge of replicating a store-bought snack with homemade methods. This episode blends Claire’s signature charm with technical baking as she breaks down how to make homemade Tim Tams, one of the most recognizable Australian treats.\n\nIf you’re a fan of nostalgic snack recipes, iconic cookie recreations, or just love watching detailed step-by-step baking challenges, this episode is for you.\n\n#ClaireSaffitz #ClaireRecreates #TimTams #ChocolateBiscuits #BakingChallenge #dessertperson \n\nChapters\n\n00:00 Intro\n00:18 Tim Tams\n01:53 Taste test\n03:56 Measurements\n04:59 Reading the Ingredients\n06:25 Game plan\n06:42 Make cookies / biscuits\n14:14 Use pasta roller\n17:31 Make filling\n19:13 Assemble\n22:02 Enrobe\n23:13 Comparison\n25:38 Cat cam\n\nChocolate biscuit\n1½ cups all-purpose flour\n½ cup unsweetened cocoa powder\n2 tablespoon malted milk powder \n¾ teaspoon kosher salt\n½ teaspoon baking powder \n1 stick unsalted butter, at cool room temperature \n¾ cup sugar\n1 large egg\n2 teaspoons pure vanilla extract\n\nChocolate cream filling: \n150g milk chocolate, chopped\n150g heavy cream\nSalt\n\nChocolate coating \nDark chocolate\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Australian Tim Tams | Claire Recreates", "8cbd2006-09d7-40a1-8393-1f275f7fc8c3", 9, [], 1555, false, "X5-yAJszoB0", "https://www.youtube.com/watch?v=X5-yAJszoB0", 11, "/downloads/shows/Claire Recreates/Season 2025/s2025e050100 - I Tried Making Homemade Australian Tim Tams | Claire Recreates.mkv", false, false, false, 1, ~U[2025-05-01 14:00:48Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "I Tried Making Homemade Australian Tim Tams | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on one of the most iconic Australian snacks of all time — Tim Tams. Known for their rich chocolate coating, creamy filling, and signature crunchy biscuit texture, Tim Tams are a beloved treat across Australia and beyond. Claire attempts to recreate Tim Tams from scratch, using her precise baking techniques and deep understanding of pastry science to reverse-engineer this layered chocolate biscuit sandwich at home.\n\nWatch as Claire tests different chocolate biscuit recipes, explores the mechanics of the perfect Tim Tam Slam, and tackles the challenge of replicating a store-bought snack with homemade methods. This episode blends Claire’s signature charm with technical baking as she breaks down how to make homemade Tim Tams, one of the most recognizable Australian treats.\n\nIf you’re a fan of nostalgic snack recipes, iconic cookie recreations, or just love watching detailed step-by-step baking challenges, this episode is for you.\n\n#ClaireSaffitz #ClaireRecreates #TimTams #ChocolateBiscuits #BakingChallenge #dessertperson \n\nChapters\n\n00:00 Intro\n00:18 Tim Tams\n01:53 Taste test\n03:56 Measurements\n04:59 Reading the Ingredients\n06:25 Game plan\n06:42 Make cookies / biscuits\n14:14 Use pasta roller\n17:31 Make filling\n19:13 Assemble\n22:02 Enrobe\n23:13 Comparison\n25:38 Cat cam\n\nChocolate biscuit\n1½ cups all-purpose flour\n½ cup unsweetened cocoa powder\n2 tablespoon malted milk powder \n¾ teaspoon kosher salt\n½ teaspoon baking powder \n1 stick unsalted butter, at cool room temperature \n¾ cup sugar\n1 large egg\n2 teaspoons pure vanilla extract\n\nChocolate cream filling: \n150g milk chocolate, chopped\n150g heavy cream\nSalt\n\nChocolate coating \nDark chocolate\n\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Australian Tim Tams | Claire Recreates", 9, 1555, false, "X5-yAJszoB0", "https://www.youtube.com/watch?v=X5-yAJszoB0", "/downloads/shows/Claire Recreates/Season 2025/s2025e050100 - I Tried Making Homemade Australian Tim Tams | Claire Recreates.mkv", false, ~U[2025-05-01 14:00:48Z]] 12:50:05.179 [debug] QUERY OK source="sources" db=0.1ms idle=5.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.179 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-18 14:00:44Z], 9] 12:50:05.181 [debug] QUERY OK source="media_items" db=1.4ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Tokyo Bananas | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on Japan’s most beloved souvenir treat ... the Tokyo Banana. These soft sponge cakes filled with sweet banana custard are a staple of Japanese train stations, gift shops, and childhood memories. Claire breaks it down step-by-step, making everything from scratch, from the light-as-air sponge cake to the rich banana cream filling.\n\nWhether you’re a Tokyo Banana superfan or discovering this iconic snack for the first time, follow along as Claire gives this classic the Dessert Person™ treatment.\n\n#TokyoBanana #ClaireSaffitz #ClaireRecreates #JapaneseSnacks #BananaCustard #SpongeCakeRecipe #JapaneseBaking #DessertPerson \n\nTOKYO BANANA (Recreates)\n\nSPONGE CAKE\n4 egg yolks, at room temperature\n20g sugar\n40 ml milk \n40g oil\n½ teaspoon vanilla extract\n30g all-purpose flour\n30g cornstarch\n4 egg whites, at room temperature\nPinch of salt \n¼ teaspoon cream of tartar \n60g sugar \n\nBANANA CREAM\n⅓ cup sugar \n3 tablespoons cornstarch\n½ teaspoon Diamond Crystal kosher salt \n4 large egg yolks\n1⅔ cups heavy cream, chilled\n1 cup mashed overripe banana (8.5 oz / 240g), from about 2 medium\n\nChapters\n00:00 Intro\n00:19 Tokyo Banana\n01:05 Smell test\n02:08 Taste test\n02:29 Measurements\n03:56 Reading the ingredients\n05:12 How to make Tokyo Banana\n05:35 Make banana custard + cool\n10:47 How to make chiffon sponge\n17:31 Construction apparatus\n21:57 Assembly + chill\n24:12 Comparison\n26:56 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Tokyo Bananas | Claire Recreates", "ba41b600-24ad-4dc0-a3a5-9fd2348bfe19", 9, [], 1634, false, "RWE_WnFfvcI", "https://www.youtube.com/watch?v=RWE_WnFfvcI", 12, "/downloads/shows/Claire Recreates/Season 2025/s2025e061800 - I Tried Making Homemade Tokyo Bananas | Claire Recreates.mkv", false, false, false, 1, ~U[2025-06-18 14:00:44Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "I Tried Making Homemade Tokyo Bananas | Claire Recreates\nIn this episode of Claire Recreates, Claire Saffitz takes on Japan’s most beloved souvenir treat ... the Tokyo Banana. These soft sponge cakes filled with sweet banana custard are a staple of Japanese train stations, gift shops, and childhood memories. Claire breaks it down step-by-step, making everything from scratch, from the light-as-air sponge cake to the rich banana cream filling.\n\nWhether you’re a Tokyo Banana superfan or discovering this iconic snack for the first time, follow along as Claire gives this classic the Dessert Person™ treatment.\n\n#TokyoBanana #ClaireSaffitz #ClaireRecreates #JapaneseSnacks #BananaCustard #SpongeCakeRecipe #JapaneseBaking #DessertPerson \n\nTOKYO BANANA (Recreates)\n\nSPONGE CAKE\n4 egg yolks, at room temperature\n20g sugar\n40 ml milk \n40g oil\n½ teaspoon vanilla extract\n30g all-purpose flour\n30g cornstarch\n4 egg whites, at room temperature\nPinch of salt \n¼ teaspoon cream of tartar \n60g sugar \n\nBANANA CREAM\n⅓ cup sugar \n3 tablespoons cornstarch\n½ teaspoon Diamond Crystal kosher salt \n4 large egg yolks\n1⅔ cups heavy cream, chilled\n1 cup mashed overripe banana (8.5 oz / 240g), from about 2 medium\n\nChapters\n00:00 Intro\n00:19 Tokyo Banana\n01:05 Smell test\n02:08 Taste test\n02:29 Measurements\n03:56 Reading the ingredients\n05:12 How to make Tokyo Banana\n05:35 Make banana custard + cool\n10:47 How to make chiffon sponge\n17:31 Construction apparatus\n21:57 Assembly + chill\n24:12 Comparison\n26:56 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Tokyo Bananas | Claire Recreates", 9, 1634, false, "RWE_WnFfvcI", "https://www.youtube.com/watch?v=RWE_WnFfvcI", "/downloads/shows/Claire Recreates/Season 2025/s2025e061800 - I Tried Making Homemade Tokyo Bananas | Claire Recreates.mkv", false, ~U[2025-06-18 14:00:44Z]] 12:50:05.182 [debug] QUERY OK source="sources" db=0.1ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.182 [debug] QUERY OK source="media_items" db=0.1ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 14:01:08Z], 9] 12:50:05.184 [debug] QUERY OK source="media_items" db=1.5ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates\nJoin Claire Saffitz in this episode of Claire Recreates as she takes on the beloved Mexican snack cake, Gansitos. From fluffy sponge cake to rich strawberry jam, creamy filling, and a decadent chocolate coating, Claire shows you how to recreate this nostalgic treat from scratch. Whether you grew up with Gansitos or are discovering them for the first time, this recipe is a delicious trip down memory lane.\nFilmed with baking techniques and inspired by the original Marinela Gansito, Claire walks through every step, sharing tips, baking science, and fun behind-the-scenes moments. Perfect for fans of Mexican desserts, snack cake lovers, and anyone curious about making iconic treats at home.\n\n#gansitos #cake #clairesaffitz #snackcake #chocolatedessert #strawberry \n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin → softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla extract\n\nSTRAWBERRY JELLY\n\nSPONGE CAKE\n4 large eggs, whites and yolks separated, at room temperature\n½ cup (100g) granulated sugar, divided\n4 tablespoons whole milk (60ml)\n½ teaspoon kosher salt\n¼ teaspoon cream of tartar\n¼ cup neutral oil\n⅔ cup (85g) all-purpose flour\n1 teaspoon vanilla extract\n\nChapters:\n00:00 Intro\n00:29 Gansitos\n00:58 First impressions\n01:19 Smell test\n01:29 Taste test\n01:57 Measurements\n03:17 Reading the Ingredients\n06:26 Game plan\n06:42 Make sprinkles\n09:50 Strawberry jelly\n10:57 Trip to apple orchard\n11:44 Strawberry jelly continued\n12:38 Bake sponge\n21:55 Creme filling\n25:40 Chocolate poured fondant + assembly\n29:37 Comparison\n31:42 Cat cam\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates", "5fa46aa3-2e00-447e-8e54-0d8d7d7d7cea", 9, [], 1919, false, "k9rGZzQswI0", "https://www.youtube.com/watch?v=k9rGZzQswI0", 13, "/downloads/shows/Claire Recreates/Season 2025/s2025e081400 - I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates.mkv", false, false, false, 1, ~U[2025-08-14 14:01:08Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates\nJoin Claire Saffitz in this episode of Claire Recreates as she takes on the beloved Mexican snack cake, Gansitos. From fluffy sponge cake to rich strawberry jam, creamy filling, and a decadent chocolate coating, Claire shows you how to recreate this nostalgic treat from scratch. Whether you grew up with Gansitos or are discovering them for the first time, this recipe is a delicious trip down memory lane.\nFilmed with baking techniques and inspired by the original Marinela Gansito, Claire walks through every step, sharing tips, baking science, and fun behind-the-scenes moments. Perfect for fans of Mexican desserts, snack cake lovers, and anyone curious about making iconic treats at home.\n\n#gansitos #cake #clairesaffitz #snackcake #chocolatedessert #strawberry \n\nMARSHMALLOW FILLING\n¼ teaspoon gelatin → softened in 1½ teaspoons ice water\n38g water\n75g granulated sugar\n117g light corn syrup\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla extract\n\nSTRAWBERRY JELLY\n\nSPONGE CAKE\n4 large eggs, whites and yolks separated, at room temperature\n½ cup (100g) granulated sugar, divided\n4 tablespoons whole milk (60ml)\n½ teaspoon kosher salt\n¼ teaspoon cream of tartar\n¼ cup neutral oil\n⅔ cup (85g) all-purpose flour\n1 teaspoon vanilla extract\n\nChapters:\n00:00 Intro\n00:29 Gansitos\n00:58 First impressions\n01:19 Smell test\n01:29 Taste test\n01:57 Measurements\n03:17 Reading the Ingredients\n06:26 Game plan\n06:42 Make sprinkles\n09:50 Strawberry jelly\n10:57 Trip to apple orchard\n11:44 Strawberry jelly continued\n12:38 Bake sponge\n21:55 Creme filling\n25:40 Chocolate poured fondant + assembly\n29:37 Comparison\n31:42 Cat cam\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates", 9, 1919, false, "k9rGZzQswI0", "https://www.youtube.com/watch?v=k9rGZzQswI0", "/downloads/shows/Claire Recreates/Season 2025/s2025e081400 - I Tried Making Homemade Gansitos - Mexico’s Iconic Snack Cake | Claire Recreates.mkv", false, ~U[2025-08-14 14:01:08Z]] 12:50:05.185 [debug] QUERY OK source="sources" db=0.1ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.185 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT max(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:14Z], 9] 12:50:05.187 [debug] QUERY OK source="media_items" db=1.4ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Nutter Butter Cookies | Claire Recreates\nCan Claire Saffitz recreate the iconic Nutter Butter cookie at home? In this episode of Claire Recreates, Claire takes on the challenge of making homemade Nutter Butters completely from scratch. She bakes crunchy peanut shaped cookies and fills them with creamy peanut butter frosting.\n\nFrom mixing the dough to shaping the classic peanut design and testing the filling, Claire shows every step of the process as she compares homemade vs store bought Nutter Butters. Does the DIY version hold up against the nostalgic packaged cookie? Watch to find out.\n\nIf you have ever wondered how to make Nutter Butter cookies at home or wanted to see how they compare to the original, this video has the recipes, techniques, and taste test you are looking for.\n\n#ClaireSaffitz #ClaireRecreates #NutterButter #HomemadeCookies #baking \n\nIngredients:\nDOUGH\n2½ cups all-purpose flour \n½ teaspoon whole wheat flour \n¼ teaspoon baking soda\n1½ teaspoons Diamond Crystal kosher salt\n2 sticks unsalted butter, at room temperature\n1 cup granulated sugar\n1 cup natural smooth peanut butter\n2 large eggs (3.5 oz / 100g)\n1 teaspoon vanilla extract\nFILLING\n1 cup smooth natural peanut butter \n½ tsp. vanilla extract \nKosher salt\n¼ cup sugar\n3 tablespoons corn syrup\n1 tablespoon honey \n2 tablespoons butter \n\nChapters\n00:00 Intro\n00:16 How To Make Nutter Butter Cookies\n00:40 First impressions\n01:53 Ingredients\n02:54 Measurements\n04:01 Wood carving kit\n05:08 Game plan\n05:20 Cookie stamp\n10:02 Make Nutter Butter Cookies\n19:15 Bake\n20:57 Filling\n23:09 Assembly\n23:38 Comparison\n25:23 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates", "793532b8-534d-41fd-88a9-76d394441fee", 9, [], 1540, false, "ck6D0SdiYA0", "https://www.youtube.com/watch?v=ck6D0SdiYA0", 14, "/downloads/shows/Claire Recreates/Season 2025/s2025e092600 - I Tried Making Homemade Nutter Butter Cookies | Claire Recreates.mkv", false, false, false, 1, ~U[2025-09-26 14:01:14Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates\nCan Claire Saffitz recreate the iconic Nutter Butter cookie at home? In this episode of Claire Recreates, Claire takes on the challenge of making homemade Nutter Butters completely from scratch. She bakes crunchy peanut shaped cookies and fills them with creamy peanut butter frosting.\n\nFrom mixing the dough to shaping the classic peanut design and testing the filling, Claire shows every step of the process as she compares homemade vs store bought Nutter Butters. Does the DIY version hold up against the nostalgic packaged cookie? Watch to find out.\n\nIf you have ever wondered how to make Nutter Butter cookies at home or wanted to see how they compare to the original, this video has the recipes, techniques, and taste test you are looking for.\n\n#ClaireSaffitz #ClaireRecreates #NutterButter #HomemadeCookies #baking \n\nIngredients:\nDOUGH\n2½ cups all-purpose flour \n½ teaspoon whole wheat flour \n¼ teaspoon baking soda\n1½ teaspoons Diamond Crystal kosher salt\n2 sticks unsalted butter, at room temperature\n1 cup granulated sugar\n1 cup natural smooth peanut butter\n2 large eggs (3.5 oz / 100g)\n1 teaspoon vanilla extract\nFILLING\n1 cup smooth natural peanut butter \n½ tsp. vanilla extract \nKosher salt\n¼ cup sugar\n3 tablespoons corn syrup\n1 tablespoon honey \n2 tablespoons butter \n\nChapters\n00:00 Intro\n00:16 How To Make Nutter Butter Cookies\n00:40 First impressions\n01:53 Ingredients\n02:54 Measurements\n04:01 Wood carving kit\n05:08 Game plan\n05:20 Cookie stamp\n10:02 Make Nutter Butter Cookies\n19:15 Bake\n20:57 Filling\n23:09 Assembly\n23:38 Comparison\n25:23 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Nutter Butter Cookies | Claire Recreates", 9, 1540, false, "ck6D0SdiYA0", "https://www.youtube.com/watch?v=ck6D0SdiYA0", "/downloads/shows/Claire Recreates/Season 2025/s2025e092600 - I Tried Making Homemade Nutter Butter Cookies | Claire Recreates.mkv", false, ~U[2025-09-26 14:01:14Z]] 12:50:05.188 [debug] QUERY OK source="sources" db=0.1ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.188 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-23 14:00:01Z], 9] 12:50:05.191 [debug] QUERY OK source="media_items" db=1.8ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["Many thanks to our sponsor for today’s episode, Cometeer. If you’re interested in trying curated coffees from top roasters like Onyx, Proud Mary, and Intelligentsia, you can save $20 on your Discovery Box order by using the link http://cometeer.com/clairesaffitz . It’s the perfect way to start your morning or to give as a thoughtful gift this holiday season.\n\nI Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates \nIn this episode of Claire Recreates, Claire takes on the new-ish Hostess Iced Pumpkin Cupcake and makes it completely from scratch at home. Every fall, this limited-edition treat shows up in grocery stores and reminds us that pumpkin season has officially started. Claire dives into what makes it so nostalgic - the spiced pumpkin cake, the creamy filling, and that signature orange icing swirl -then recreates each element in her own kitchen.\n\nYou’ll see how she builds the cupcake step by step, from baking the soft pumpkin base to mixing the fluffy cream center and topping it with a smooth icing. She also shares a few tricks for getting the flavor and texture as close as possible to the original. Whether you’ve been waiting all year for pumpkin desserts or just love seeing classic snacks get a homemade twist, this one will make you want to preheat your oven.\n\nWatch until the end to see if Claire can match the look and taste of the real Hostess version, and find out how her homemade cupcakes compare. \n\nSubscribe for more recreations of nostalgic snacks and fall baking recipes, and let us know what Claire should tackle next.\n\n#ClaireRecreates #FallBaking #PumpkinDessert\n\nChapters\n00:00 Intro\n00:27 First impressions\n01:23 Smell test\n01:43 Taste test\n02:16 Measurements\n03:09 Reading the ingredients\n05:07 How To Make Iced Pumpkin Cupcakes\n06:43 How To Bake Cupcakes\n15:01 Coffee break\n16:40 Troubleshooting cupcakes\n19:44 How To Make Icing For Cupcakes\n27:40 Icing + decorating\n29:39 Comparison\n32:41 Cat cam\n\n\nIngredients\n\nCake\n1 cup mashed cooked sugar pumpkin (8.2 oz / 232g)\n⅓ cup milk\n1 teaspoon vanilla extract\n1½ cups all-purpose flour (7 oz / 200g)\n1½ teaspoons baking powder (0.21 oz / 6g)\n½ teaspoon ground cinnamon\n½ teaspoon Chinese five spice powder\n½ teaspoon ground turmeric\n¾ teaspoon Diamond Crystal kosher salt\n2 large eggs (3.5 oz / 100g), at room temperature\n¾ cup sugar (6.2 oz / 175g)\n¼ cup brown sugar\n½ cup neutral oil (3.9 oz / 110g)\n\nMarshmallow Filling\n38g water\n75g granulated sugar\n117g light corn syrup\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla paste\n\nIcing\nConfectioners’ sugar\nSour cream\nCorn syrup\nSalt\nVanilla\n\nSquiggles\nConfectioners’ sugar\nTurmeric\nBeet powder\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates", "38734c1e-f220-435e-9d62-83edbb45ef2d", 9, [], 1979, false, "-veNfe5ZUF0", "https://www.youtube.com/watch?v=-veNfe5ZUF0", 15, "/downloads/shows/Claire Recreates/Season 2025/s2025e102300 - I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates.mkv", false, false, false, 1, ~U[2025-10-23 14:00:01Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "Many thanks to our sponsor for today’s episode, Cometeer. If you’re interested in trying curated coffees from top roasters like Onyx, Proud Mary, and Intelligentsia, you can save $20 on your Discovery Box order by using the link http://cometeer.com/clairesaffitz . It’s the perfect way to start your morning or to give as a thoughtful gift this holiday season.\n\nI Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates \nIn this episode of Claire Recreates, Claire takes on the new-ish Hostess Iced Pumpkin Cupcake and makes it completely from scratch at home. Every fall, this limited-edition treat shows up in grocery stores and reminds us that pumpkin season has officially started. Claire dives into what makes it so nostalgic - the spiced pumpkin cake, the creamy filling, and that signature orange icing swirl -then recreates each element in her own kitchen.\n\nYou’ll see how she builds the cupcake step by step, from baking the soft pumpkin base to mixing the fluffy cream center and topping it with a smooth icing. She also shares a few tricks for getting the flavor and texture as close as possible to the original. Whether you’ve been waiting all year for pumpkin desserts or just love seeing classic snacks get a homemade twist, this one will make you want to preheat your oven.\n\nWatch until the end to see if Claire can match the look and taste of the real Hostess version, and find out how her homemade cupcakes compare. \n\nSubscribe for more recreations of nostalgic snacks and fall baking recipes, and let us know what Claire should tackle next.\n\n#ClaireRecreates #FallBaking #PumpkinDessert\n\nChapters\n00:00 Intro\n00:27 First impressions\n01:23 Smell test\n01:43 Taste test\n02:16 Measurements\n03:09 Reading the ingredients\n05:07 How To Make Iced Pumpkin Cupcakes\n06:43 How To Bake Cupcakes\n15:01 Coffee break\n16:40 Troubleshooting cupcakes\n19:44 How To Make Icing For Cupcakes\n27:40 Icing + decorating\n29:39 Comparison\n32:41 Cat cam\n\n\nIngredients\n\nCake\n1 cup mashed cooked sugar pumpkin (8.2 oz / 232g)\n⅓ cup milk\n1 teaspoon vanilla extract\n1½ cups all-purpose flour (7 oz / 200g)\n1½ teaspoons baking powder (0.21 oz / 6g)\n½ teaspoon ground cinnamon\n½ teaspoon Chinese five spice powder\n½ teaspoon ground turmeric\n¾ teaspoon Diamond Crystal kosher salt\n2 large eggs (3.5 oz / 100g), at room temperature\n¾ cup sugar (6.2 oz / 175g)\n¼ cup brown sugar\n½ cup neutral oil (3.9 oz / 110g)\n\nMarshmallow Filling\n38g water\n75g granulated sugar\n117g light corn syrup\n¼ teaspoon gelatin, softened in 1½ teaspoons ice water\n30g egg whites, at room temperature\n¼ teaspoon cream of tartar\n1 teaspoon vanilla paste\n\nIcing\nConfectioners’ sugar\nSour cream\nCorn syrup\nSalt\nVanilla\n\nSquiggles\nConfectioners’ sugar\nTurmeric\nBeet powder\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Hostess Iced Pumpkin Cupcakes | Claire Recreates", 9, 1979, false, "-veNfe5ZUF0", "https://www.youtube.com/watch?v=-veNfe5ZUF0", "/down (truncated) 12:50:05.191 [debug] QUERY OK source="sources" db=0.1ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.192 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-30 14:01:10Z], 9] 12:50:05.194 [debug] QUERY OK source="media_items" db=1.3ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this episode of Dessert Person, Claire Saffitz makes Pommes Anna, a classic French potato dish that’s as elegant as it is comforting. Using freshly dug potatoes from her garden, Claire layers thinly sliced potatoes with rosemary-infused butter, garlic, salt, and pepper, then bakes them until crisp and golden on the outside and tender inside.\n\nThis recipe is simple, refined, and ideal for the holidays - perfect alongside roast chicken, turkey, or any festive centerpiece. Claire shares her tips for even slicing, layering for the best texture, and how to unmold Pommes Anna beautifully for your table.\n\nIf you’re looking for a holiday side that feels both classic and special, this is it.\n\n#thanksgiving #potatorecipe #clairesaffitz #holiday \n\nChapters\n00:00 Intro\n01:31 Ingredients & Special Equipment\n02:25 Infuse the Butter & Prepare the Potatoes\n10:24 Cook & Bake\n11:26 Remove & Let Cool\n12:26 Serve\n14:26 Cat cam\n\nIngredients\n1 stick unsalted butter\n2 sprigs fresh rosemary\n2 garlic cloves, smashed and peeled\n3 lbs medium potatoes, peeled and held in room temperature tap water\nKosher salt\nFreshly ground black pepper\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz", "b7e0d37d-3686-43b2-967c-e7a92db7af78", 9, [], 883, false, "ch3TBJkVkTY", "https://www.youtube.com/watch?v=ch3TBJkVkTY", 16, "/downloads/shows/Claire Recreates/Season 2025/s2025e103000 - The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz.mkv", false, false, false, 1, ~U[2025-10-30 14:01:10Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "In this episode of Dessert Person, Claire Saffitz makes Pommes Anna, a classic French potato dish that’s as elegant as it is comforting. Using freshly dug potatoes from her garden, Claire layers thinly sliced potatoes with rosemary-infused butter, garlic, salt, and pepper, then bakes them until crisp and golden on the outside and tender inside.\n\nThis recipe is simple, refined, and ideal for the holidays - perfect alongside roast chicken, turkey, or any festive centerpiece. Claire shares her tips for even slicing, layering for the best texture, and how to unmold Pommes Anna beautifully for your table.\n\nIf you’re looking for a holiday side that feels both classic and special, this is it.\n\n#thanksgiving #potatorecipe #clairesaffitz #holiday \n\nChapters\n00:00 Intro\n01:31 Ingredients & Special Equipment\n02:25 Infuse the Butter & Prepare the Potatoes\n10:24 Cook & Bake\n11:26 Remove & Let Cool\n12:26 Serve\n14:26 Cat cam\n\nIngredients\n1 stick unsalted butter\n2 sprigs fresh rosemary\n2 garlic cloves, smashed and peeled\n3 lbs medium potatoes, peeled and held in room temperature tap water\nKosher salt\nFreshly ground black pepper\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz", 9, 883, false, "ch3TBJkVkTY", "https://www.youtube.com/watch?v=ch3TBJkVkTY", "/downloads/shows/Claire Recreates/Season 2025/s2025e103000 - The Potato Dish Everyone Will Ask About | Pommes Anna with Claire Saffitz.mkv", false, ~U[2025-10-30 14:01:10Z]] 12:50:05.194 [debug] QUERY OK source="sources" db=0.1ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.195 [debug] QUERY OK source="media_items" db=0.1ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-04 15:00:32Z], 9] 12:50:05.197 [debug] QUERY OK source="media_items" db=1.6ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates\nIn this episode of Claire Recreates, Claire tackles a true lunchbox classic: the Little Debbie Honey Bun. Soft, sticky, sweet, and glazed, Honey Buns are one of the most iconic packaged pastries around and recreating them at home is a labor of love. Claire dives into what makes the original so nostalgic, from the enriched dough and spiraled shape to the signature sticky-sweet glaze.\n\nYou’ll watch as she mixes and proofs the dough, rolls and cuts each bun, then fries them to get that signature tender, slightly chewy texture. Once they’re golden, she finishes them with a warm honey glaze that melts into all the nooks and crannies, giving them that unmistakable glossy sheen.\n\nAlong the way, Claire shares tips for developing flavor in the dough, keeping the buns soft after frying, and getting the glaze just right. Whether you grew up eating Honey Buns on the go or just love seeing nostalgic snacks recreated from scratch, this episode is pure sticky-sweet comfort.\n\nStick around until the end to see how Claire’s homemade Honey Buns compare to the Little Debbie original, and whether she can truly match the iconic taste and look.\n\nSubscribe for more recreations of nostalgic snacks and comfort-food favorites, and let us know what Claire should take on next.\n\n#ClaireRecreates #HoneyBuns #LittleDebbie\n\nChapters\n00:00 Intro\n00:15 First impressions\n00:54 Smell test\n02:12 Taste test\n02:49 Reading the ingredients\n04:44 Measurements\n06:16 Game plan\n06:40 Dough Rise\n13:29 Form buns (swirl) Proof\n21:21 Frying Glazing\n27:24 Comparison\n30:17 Cat cam\n\nDOUGH\n¾ cup whole milk\n38g plus 368g all-purpose flour\n3 large eggs, chilled\n1½ tablespoons vegetable oil\n1½ tablespoons granulated sugar\n1½ tablespoons honey\n8 grams kosher salt\n1½ teaspoons instant yeast\n85g unsalted butter, cut into ½-inch pieces, chilled\nNeutral oil, for frying\n\nSWIRL\nWater + Cinnamon\n\nGLAZE\n½ cup whole milk\n2 tablespoons unsalted butter\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates", "37bc0513-fa84-4dfc-bf63-b863674ca742", 9, [], 1835, false, "CViDoQkqf24", "https://www.youtube.com/watch?v=CViDoQkqf24", 17, "/downloads/shows/Claire Recreates/Season 2025/s2025e120400 - I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates.mkv", false, false, false, 1, ~U[2025-12-04 15:00:32Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates\nIn this episode of Claire Recreates, Claire tackles a true lunchbox classic: the Little Debbie Honey Bun. Soft, sticky, sweet, and glazed, Honey Buns are one of the most iconic packaged pastries around and recreating them at home is a labor of love. Claire dives into what makes the original so nostalgic, from the enriched dough and spiraled shape to the signature sticky-sweet glaze.\n\nYou’ll watch as she mixes and proofs the dough, rolls and cuts each bun, then fries them to get that signature tender, slightly chewy texture. Once they’re golden, she finishes them with a warm honey glaze that melts into all the nooks and crannies, giving them that unmistakable glossy sheen.\n\nAlong the way, Claire shares tips for developing flavor in the dough, keeping the buns soft after frying, and getting the glaze just right. Whether you grew up eating Honey Buns on the go or just love seeing nostalgic snacks recreated from scratch, this episode is pure sticky-sweet comfort.\n\nStick around until the end to see how Claire’s homemade Honey Buns compare to the Little Debbie original, and whether she can truly match the iconic taste and look.\n\nSubscribe for more recreations of nostalgic snacks and comfort-food favorites, and let us know what Claire should take on next.\n\n#ClaireRecreates #HoneyBuns #LittleDebbie\n\nChapters\n00:00 Intro\n00:15 First impressions\n00:54 Smell test\n02:12 Taste test\n02:49 Reading the ingredients\n04:44 Measurements\n06:16 Game plan\n06:40 Dough Rise\n13:29 Form buns (swirl) Proof\n21:21 Frying Glazing\n27:24 Comparison\n30:17 Cat cam\n\nDOUGH\n¾ cup whole milk\n38g plus 368g all-purpose flour\n3 large eggs, chilled\n1½ tablespoons vegetable oil\n1½ tablespoons granulated sugar\n1½ tablespoons honey\n8 grams kosher salt\n1½ teaspoons instant yeast\n85g unsalted butter, cut into ½-inch pieces, chilled\nNeutral oil, for frying\n\nSWIRL\nWater + Cinnamon\n\nGLAZE\n½ cup whole milk\n2 tablespoons unsalted butter\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates", 9, 1835, false, "CViDoQkqf24", "https://www.youtube.com/watch?v=CViDoQkqf24", "/downloads/shows/Claire Recreates/Season 2025/s2025e120400 - I Tried Making Homemade Little Debbie Honey Buns | Claire Recreates.mkv", false, ~U[2025-12-04 15:00:32Z]] 12:50:05.198 [debug] QUERY OK source="sources" db=0.1ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.198 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-04 15:01:07Z], 9] 12:50:05.200 [debug] QUERY OK source="media_items" db=1.3ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["I Tried Making Homemade Whoppers | Claire Recreates\nIn this episode of Claire Recreates, Claire takes on a movie-theater and candy-aisle classic: Whoppers. Crunchy, airy, deeply malty, and coated in milk chocolate, Whoppers seem simple, but recreating that unmistakable texture from scratch turns out to be a real technical puzzle.\n\nClaire starts by breaking down the heart of the candy: the light, crisp malted center. She builds it from an Italian meringue made with whipped egg whites and a cooked sugar syrup, then folds in a carefully balanced malt mixture made from malted milk powder, barley malt flour, milk, salt, and leavening. The mixture is cooked, aerated, portioned into tiny spheres, and baked until dry, hollow, and shatter-crisp inside.\n\nOnce the centers are just right, Claire moves on to the chocolate. She coats each malted ball in smooth milk chocolate, dialing in the thickness and snap so it eats like the real thing, no waxy shortcuts, no shortcuts at all.\n\nAlong the way, Claire dives into what gives Whoppers their signature flavor, why malt is so nostalgic, and how industrial candy achieves that ultra-light crunch. She shares tips on sugar stages, drying vs. baking, and how small changes can completely alter the final texture.\n\n#clairesaffitz #whoppers #chocolate \n\nChapters\n00:00 Intro\n01:31 First impressions\n01:57 Reading the ingredients\n02:52 Taste test\n03:44 Measurements\n04:36 Game plan\n04:45 How To Make Whoppers\n17:34 Coat in tempered milk chocolate\n21:23 Comparison\n24:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Whoppers | Claire Recreates", "bbb3628c-db82-4f79-936b-3a739955a8b0", 9, [], 1458, false, "Zs8bGlrcYAo", "https://www.youtube.com/watch?v=Zs8bGlrcYAo", 18, "/downloads/shows/Claire Recreates/Season 2026/s2026e020400 - I Tried Making Homemade Whoppers | Claire Recreates.mkv", false, false, false, 1, ~U[2026-02-04 15:01:07Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "I Tried Making Homemade Whoppers | Claire Recreates\nIn this episode of Claire Recreates, Claire takes on a movie-theater and candy-aisle classic: Whoppers. Crunchy, airy, deeply malty, and coated in milk chocolate, Whoppers seem simple, but recreating that unmistakable texture from scratch turns out to be a real technical puzzle.\n\nClaire starts by breaking down the heart of the candy: the light, crisp malted center. She builds it from an Italian meringue made with whipped egg whites and a cooked sugar syrup, then folds in a carefully balanced malt mixture made from malted milk powder, barley malt flour, milk, salt, and leavening. The mixture is cooked, aerated, portioned into tiny spheres, and baked until dry, hollow, and shatter-crisp inside.\n\nOnce the centers are just right, Claire moves on to the chocolate. She coats each malted ball in smooth milk chocolate, dialing in the thickness and snap so it eats like the real thing, no waxy shortcuts, no shortcuts at all.\n\nAlong the way, Claire dives into what gives Whoppers their signature flavor, why malt is so nostalgic, and how industrial candy achieves that ultra-light crunch. She shares tips on sugar stages, drying vs. baking, and how small changes can completely alter the final texture.\n\n#clairesaffitz #whoppers #chocolate \n\nChapters\n00:00 Intro\n01:31 First impressions\n01:57 Reading the ingredients\n02:52 Taste test\n03:44 Measurements\n04:36 Game plan\n04:45 How To Make Whoppers\n17:34 Coat in tempered milk chocolate\n21:23 Comparison\n24:01 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Whoppers | Claire Recreates", 9, 1458, false, "Zs8bGlrcYAo", "https://www.youtube.com/watch?v=Zs8bGlrcYAo", "/downloads/shows/Claire Recreates/Season 2026/s2026e020400 - I Tried Making Homemade Whoppers | Claire Recreates.mkv", false, ~U[2026-02-04 15:01:07Z]] 12:50:05.201 [debug] QUERY OK source="sources" db=0.1ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [9] 12:50:05.201 [debug] QUERY OK source="media_items" db=0.2ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-03-16 14:00:13Z], 9] 12:50:05.203 [debug] QUERY OK source="media_items" db=1.4ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","source_id","subtitle_filepaths","duration_seconds","livestream","media_id","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "source_id" = ?, "duration_seconds" = ?, "livestream" = ?, "media_id" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "uploaded_at" = ? RETURNING "id" ["In this video, Claire Saffitz explores the iconic beverage, Coca-Cola. She delves into the ingredients and process behind making this classic soda. Watch as she attempts to recreate the distinctive taste of coke, offering insights into its composition and how to make a version at home. This episode is a deep dive into the world of cola and food science.\n\n#clairesaffitz #cocacola #homemade \n\n00:00 Intro\n02:11 Reading the Coca Cola Ingredients\n02:21 Observations\n08:02 Game plan\n08:21 How To Make Caramel\n12:12 Tinker\n29:25 How To Make Seltzer\n30:08 Comparison\n33:48 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Coca Cola | Claire Recreates", "eef3fe9e-00d3-4f95-b7ef-035bf079ef25", 9, [], 2046, false, "9f3ZO4N0RC8", "https://www.youtube.com/watch?v=9f3ZO4N0RC8", 19, "/downloads/shows/Claire Recreates/Season 2026/s2026e031600 - I Tried Making Homemade Coca Cola | Claire Recreates.mkv", false, false, false, 1, ~U[2026-03-16 14:00:13Z], ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], "In this video, Claire Saffitz explores the iconic beverage, Coca-Cola. She delves into the ingredients and process behind making this classic soda. Watch as she attempts to recreate the distinctive taste of coke, offering insights into its composition and how to make a version at home. This episode is a deep dive into the world of cola and food science.\n\n#clairesaffitz #cocacola #homemade \n\n00:00 Intro\n02:11 Reading the Coca Cola Ingredients\n02:21 Observations\n08:02 Game plan\n08:21 How To Make Caramel\n12:12 Tinker\n29:25 How To Make Seltzer\n30:08 Comparison\n33:48 Cat cam\n\nWhat's for Dessert by Claire Saffitz is out now: https://geni.us/WjcIbfp\nDessert Person Online: https://www.dessertperson.com/\nClaire on Instagram: https://www.instagram.com/csaffitz/?h…\nClaire Merchandise: https://www.dessertperson.com/buystuff\nPenguin Random House Books: https://www.penguinrandomhouse.com/\n\nVideo Series:\nProducer/Director: Vincent Cross \nCamera Operator: Calvin Robertson\nEditor/Motion Graphics: Hal McFall\n\nAnimation Credits:\nCharacter Designer/Animator/Backgrounds: Jack Sherry\nCharacter Rigger: Johara Dutton", "I Tried Making Homemade Coca Cola | Claire Recreates", 9, 2046, false, "9f3ZO4N0RC8", "https://www.youtube.com/watch?v=9f3ZO4N0RC8", "/downloads/shows/Claire Recreates/Season 2026/s2026e031600 - I Tried Making Homemade Coca Cola | Claire Recreates.mkv", false, ~U[2026-03-16 14:00:13Z]] 12:50:05.204 [debug] QUERY OK source="sources" db=0.1ms idle=5.2ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z], 9] 12:50:05.204 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 12:50:05.205 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [9] 12:50:05.205 [debug] QUERY OK source="media_items" db=0.1ms idle=4.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [9] 12:50:05.207 [debug] QUERY OK source="tasks" db=0.1ms idle=2.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [4857, 9, ~U[2026-04-17 10:50:05Z], ~U[2026-04-17 10:50:05Z]] 12:50:05.207 [info] {"args":{"id":9},"id":4848,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":74824069,"event":"job:stop","queue_time":392772,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 12:50:34.418 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:00.884 [info] {"source":"oban","duration":173,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:51:04.420 [info] {"source":"oban","duration":770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:34.421 [info] {"source":"oban","duration":741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:51:50.391 [info] GET /sources/5/media/153529/force_download 12:51:50.391 [debug] QUERY OK source="settings" db=0.1ms idle=1749.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:51:50.392 [debug] QUERY OK source="settings" db=0.1ms idle=1749.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:51:50.392 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 12:51:50.392 [error] #PID<0.674257.0> running PinchflatWeb.Endpoint (connection #PID<0.674256.0>, stream id 1) terminated Server: content.andreas-larsen.dk:80 (http) Request: GET /sources/5/media/153529/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/153529/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674256.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/153529/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55448}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edae077ad724440-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.25", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.25" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "content.andreas-larsen.dk", method: "GET", owner: #PID<0.674257.0>, params: %{}, path_info: ["sources", "5", "media", "153529", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://content.andreas-larsen.dk", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 18, 0, 2}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br"}, {"cdn-loop", "cloudflare; loops=1"}, {"cf-connecting-ip", "216.73.216.66"}, {"cf-ipcountry", "US"}, {"cf-ray", "9edae077ad724440-CMH"}, {"cf-visitor", "{\"scheme\":\"https\"}"}, {"host", "content.andreas-larsen.dk"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"}, {"x-forwarded-for", "216.73.216.66, 162.159.115.25"}, {"x-forwarded-host", "content.andreas-larsen.dk"}, {"x-forwarded-port", "443"}, {"x-forwarded-proto", "https"}, {"x-forwarded-server", "a4ebc7568f4b"}, {"x-real-ip", "162.159.115.25"} ], request_path: "/sources/5/media/153529/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GKcfaDGokabowj4AQyeh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674256.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/153529/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55448}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edae077ad724440-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.25", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.25" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/5/media/153529/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.674256.0>, port: 80, scheme: "http", version: :"HTTP/1.1", path: "/sources/5/media/153529/force_download", host: "content.andreas-larsen.dk", peer: {{172, 18, 0, 2}, 55448}, bindings: %{}, sock: {{172, 18, 0, 11}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br", "cdn-loop" => "cloudflare; loops=1", "cf-connecting-ip" => "216.73.216.66", "cf-ipcountry" => "US", "cf-ray" => "9edae077ad724440-CMH", "cf-visitor" => "{\"scheme\":\"https\"}", "host" => "content.andreas-larsen.dk", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "x-forwarded-for" => "216.73.216.66, 162.159.115.25", "x-forwarded-host" => "content.andreas-larsen.dk", "x-forwarded-port" => "443", "x-forwarded-proto" => "https", "x-forwarded-server" => "a4ebc7568f4b", "x-real-ip" => "162.159.115.25" }, method: "GET", path_info: :undefined, body_length: 0, qs: "", has_body: false, streamid: 1, host_info: :undefined }}, assigns: %{}, body_params: %{}, coo (truncated) 12:52:00.886 [info] {"source":"oban","duration":950,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[4858]} 12:52:00.892 [info] {"args":{},"id":4858,"meta":{"cron":true,"cron_expr":"52 10 * * *","cron_tz":"Etc/UTC"},"system_time":1776423120892151372,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 12:52:00.892 [info] Updating yt-dlp 12:52:00.892 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 12:52:01.901 [info] GET /sources/5/media/153529 12:52:01.901 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "153529", "prevent_download" => "true", "source_id" => "5"} Pipelines: [:browser] 12:52:01.902 [debug] QUERY OK source="media_items" db=0.4ms idle=1015.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" = ?) [153529] 12:52:01.903 [debug] QUERY OK source="sources" db=0.3ms idle=300.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 12:52:01.903 [debug] QUERY OK source="tasks" db=0.7ms idle=1010.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [153529] 12:52:01.904 [debug] QUERY OK source="settings" db=0.2ms idle=261.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:01.905 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=262.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:01.906 [debug] QUERY OK source="settings" db=0.7ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:01.907 [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] 12:52:01.909 [info] Sent 200 in 7ms 12:52:02.297 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Latest version: stable@2026.03.17 from yt-dlp/yt-dlp yt-dlp is up to date (stable@2026.03.17 from yt-dlp/yt-dlp) 12:52:02.297 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 12:52:03.437 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 12:52:03.438 [debug] QUERY OK source="settings" db=0.2ms idle=1533.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:52:03.438 [info] {"args":{},"id":4858,"meta":{"cron":true,"cron_expr":"52 10 * * *","cron_tz":"Etc/UTC"},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":2546151,"event":"job:stop","queue_time":891311,"attempt":1,"tags":["local_data"]} 12:52:04.422 [info] {"source":"oban","duration":771,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:52:34.423 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:00.887 [info] {"source":"oban","duration":377,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:53:04.424 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:34.425 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:53:54.407 [info] GET /sources/5/media/147831 12:53:54.407 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "147831", "prevent_download" => "true", "source_id" => "5"} Pipelines: [:browser] 12:53:54.408 [debug] QUERY OK source="media_items" db=0.2ms idle=1691.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" = ?) [147831] 12:53:54.408 [debug] QUERY OK source="tasks" db=0.2ms idle=765.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" [147831] 12:53:54.408 [debug] QUERY OK source="sources" db=0.2ms idle=765.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [5] 12:53:54.409 [debug] QUERY OK source="settings" db=0.1ms 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 [] 12:53:54.409 [debug] QUERY OK source="settings" db=0.1ms idle=692.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:53:54.410 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 12:53:54.410 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 12:53:54.412 [info] Sent 200 in 5ms 12:54:00.888 [info] {"source":"oban","duration":185,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:54:04.426 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:54:34.427 [info] {"source":"oban","duration":787,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:00.889 [info] {"source":"oban","duration":180,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:55:04.428 [info] {"source":"oban","duration":697,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:55:34.429 [info] {"source":"oban","duration":729,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:00.890 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:56:04.429 [info] {"source":"oban","duration":668,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:56:34.431 [info] {"source":"oban","duration":737,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:00.891 [info] {"source":"oban","duration":197,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:57:04.432 [info] {"source":"oban","duration":701,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:57:34.433 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:00.892 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:58:04.434 [info] {"source":"oban","duration":666,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:58:34.435 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:00.893 [info] {"source":"oban","duration":252,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 12:59:04.436 [info] {"source":"oban","duration":970,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 12:59:34.438 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:00.894 [info] {"source":"oban","duration":196,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:00:04.439 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:00:34.440 [info] {"source":"oban","duration":760,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:00.895 [info] {"source":"oban","duration":201,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:01:04.441 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:01:34.442 [info] {"source":"oban","duration":790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:00.896 [info] {"source":"oban","duration":246,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:02:04.443 [info] {"source":"oban","duration":679,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:02:34.444 [info] {"source":"oban","duration":720,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:00.897 [info] {"source":"oban","duration":238,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:03:04.445 [info] {"source":"oban","duration":782,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:03:34.447 [info] {"source":"oban","duration":706,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:00.898 [info] {"source":"oban","duration":195,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:04:04.447 [info] {"source":"oban","duration":649,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:04:34.449 [info] {"source":"oban","duration":664,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:00.899 [info] {"source":"oban","duration":220,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:05:04.449 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:34.451 [info] {"source":"oban","duration":962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:00.900 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:06:04.453 [info] {"source":"oban","duration":698,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:34.454 [info] {"source":"oban","duration":727,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:00.901 [info] {"source":"oban","duration":203,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:07:04.455 [info] {"source":"oban","duration":694,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:34.456 [info] {"source":"oban","duration":719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:00.902 [info] {"source":"oban","duration":206,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:08:04.456 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:34.458 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:00.903 [info] {"source":"oban","duration":202,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:09:04.459 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:34.460 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:00.904 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:10:04.461 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:34.462 [info] {"source":"oban","duration":730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:00.905 [info] {"source":"oban","duration":219,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:11:04.463 [info] {"source":"oban","duration":734,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:34.464 [info] {"source":"oban","duration":699,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:00.906 [info] {"source":"oban","duration":189,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:12:04.464 [info] {"source":"oban","duration":648,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:34.466 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:00.907 [info] {"source":"oban","duration":198,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:13:04.467 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:34.468 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:00.908 [info] {"source":"oban","duration":187,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:14:04.468 [info] {"source":"oban","duration":651,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:34.470 [info] {"source":"oban","duration":721,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0}